Jenkins本地部署搭建遇到的问题
一、启动时出现错误:Exception in thread "Jenkins initialization thread" java.lang.NoClassDefFoundError: hudson/util/HudsonFailedToLoad这个出现的原因是因为启动命令出现错误,应该输入“java -jar jenkins.war --httpPort=8180”,但是却
·
一、启动时出现错误:Exception in thread "Jenkins initialization thread" java.lang.NoClassDefFoundError: hudson/util/HudsonFailedToLoad
这个出现的原因是因为启动命令出现错误,应该输入“java -jar jenkins.war --httpPort=8180”,但是却输入了“java -jar jenkins.war -httpPort=8180”,而8080端口本身已经被占用了,所以出现了这个问题。
二、在本机部署jenkins项目时,jenkins会在post-build actions之后自动关闭衍生的进程,因此若是直接使用java -jar命令,在jenkins部署后会失败,因为这个进程被杀死了。可以使用ssh来自己连接自己并exec部署命令。
部署时通过SSH来发送文件和命令
其中jenkins-in.sh的文件内容如下:
#!/bin/bash
JARFILE=easyopen-server.jar
ORIGINFILE=easyopen-server-1.0.0.jar
DEPLOYDIR=/home/zhaochao
if [ -f $DEPLOYDIR/$ORIGINFILE ];
then
echo "file is prepared already"
processItemNum=`ps aux|grep $JARFILE|wc -l`
if [ $processItemNum -gt 1 ]; then
echo "the old project is running"
processItem=`ps aux|grep $JARFILE|grep -v grep`
echo "$processItem"|awk '{print $2}'|xargs kill -9
echo 'the old project has been killed'
fi
rm -f $DEPLOYDIR/$JARFILE
echo 'the old project has been moved'
mv $DEPLOYDIR/$ORIGINFILE $DEPLOYDIR/$JARFILE
nohup java -jar $DEPLOYDIR/$JARFILE>$DEPLOYDIR/output 2>&1 &
else
echo "newly build file can not be found"
fi
jenkins中SSH的配置为:
更多推荐
已为社区贡献1条内容
所有评论(0)