您的位置:首页 > 其它

jenkins+git+ maven 配置注意事项(坑)

2016-09-13 12:26 232 查看

jenkins+git+ maven 配置注意事项

最近需要配置一套jenkins环境,将手上的一个项目整合。配置过程中遇到一些坑,以前也遇到过但没有记录下来,现在想不起具体原因,所以又把所以的坑踩了一遍花了大概半天时间。这次准备把问题点都记录一下。以下描述可能不完全准确,因为有些部分是我的猜测,并未深入确认,仅作为解决问题的实际方案描述。

全局配置项

(Global Tool Configuration中配置)

配置jDK环境变量,必须明确指定,否则部分插件不能获取java路径



配置maven 环境变量,最好自己安装,并明确指定环境变量路径。不要选择自动安装或者默认。此处不配置或选择“install automatically”则 maven的版本为default。在创建maven类型的job时配置的maven版本也要选择default(默认配置就是default)。但是我在使用default配置时时报错的:错误为找不到工作目录或者文件不存在。参考如下配置:手动指定maven


(Configure System 中配置)

Publish over SSH 插件配置

需要配置全局的机器信息如下:



* 注意上面的红圈部分。“remote Directory”表示你的包需要传到该机器的哪个目录。“username”用户必须有该目录的使用权限,否则到时发布项目是脚本会报错。

job配置注意点

对应上面的系统maven配置,maven类 job配置处选择如下:



*建议如上配置,以减少不必要的错误。实践中发现各种Default配置容易出现奇怪的问题。

Publish over SSH

参考下图:



参考上面的全局配置。

* 1. 以前使用时全局配置的“Remote directory”+此处的“Remote directory”值构成的路经才是包文件最终被传送的目录。但这次使用时,全局“Remote directory”没用配置,此处配置了“/yougo/server/group-new”,但没有传送到预期目录,而是在root目录(根据全局配置我使用了root用户,ssh上去的默认目录为root)下创建了yougo/server/group-new目录。后改为全局“Remote directory”设置“/yougo/server/group-new”,此处不设置才达到预期

* 2. “exec command”如果是多命令使用“;”分割。不要使用换行,此处不是按.sh类shell脚本处理。如果回车换行将出现未知错误

* 3. “advance”选项下“Exec in pty”不可勾选,否则deploy.sh所创建的进程在deploy.sh退出后也讲结束。现象为tomcat不能启动成功(实际启动成功,但ssh终端退出后tomcat也被结束掉了)

* 4. 如上的group-new为tomcat安装文件夹(tomcat_root)deploy.sh 脚本如下:

export JAVA_HOME=/yougo/java

echo ‘尝试关闭tomcat…’

sh bin/shutdown.sh;

tom_pid=
ps -ef|grep group-new|grep -v grep| awk '{print $2}'


#如果tom_pid长度不为零 not-zero

if [ $tom_pid ];

then

echo “tomcat 关闭失败,将强制结束进程:$tom_pid”

kill -9 $tom_pid;

fi

echo “tomcat 进程结束”

echo “清空weapps目录并复制新war包…”

rm -rf webapps/*

cp *.war webapps/;

echo “重新启动tomcat…”

sh bin/startup.sh

第一行必须添加,否则shell脚本无法识别JAVA_HOME。这和用户能使用的环境变量有关系,目前看来,该插件ssh上去后不能获取到系统环境变量

关于插件安装

可先行安装的插件

dashboard view

JIRA plugin

Subversion Plug-in(如果使用svn)

Xcode integration(如果需要ios)

Publish Over SSH (远程传包级ssh执行)

build timeout plugin

Role-based Authorization Strategy(增强用户管理)

Matrix Authorization Strategy Plugin(增强用户权限访问管理)

ThinBackUp(备份配置-系统配置/job配置)

*注意某些插件的安装会影响原有job的配置。使用中遇到,在job配置使用正常后,新安装了dashboard view、JIRA plugin、Pipeline三个插件后其中的maven job 出现莫名奇妙的定期自动build现象,查看config 没有任何触发选项设置。最终通过删除job,新建才解决。新建时发现,由于新插件的安装使得job的配置流程有较大变化,同时新曾插件在流程中增加了默认参数。初步猜测应该是增加的参数导致的旧job行为异常。而旧的job配置中没有显示新增的插件和参数,无法看到更无法修改

* 针对上面的问题,建议:如果安装插件后出现原job出现异常行为,建议删除job重建。以copy 原job配置来重建不能解决问题,必须从job模板开始重建
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  开发环境 CI