jenkins+git+ maven 配置注意事项(坑)
Posted amongdata
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jenkins+git+ maven 配置注意事项(坑)相关的知识,希望对你有一定的参考价值。
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模板开始重建
以上是关于jenkins+git+ maven 配置注意事项(坑)的主要内容,如果未能解决你的问题,请参考以下文章