Jenkins常见问题记录
Jenkins svn插件下载的代码不是最新代码的问题
经常发现,当提交完代码后,在Jenkins的每日编译代码还是旧代码,刚提交的代码并没有check out出来。
原因:Jenkins的svn插件是使用时间标签下载,而不是取HEAD,因此如果svn服务器的提交代码时间比Jenkins的当前时间晚,该代码就不会被更新。
解决方法:把Jenkins时间和svn服务器时间设置为相同就OK。
Maven编译内存溢出
官方解决方法:
https://wiki.jenkins-ci.org/display/JENKINS/Builds+failing+with+OutOfMemoryErrors
解决方法:添加环境变量即可。
Publish Over SSH插件问题
1.执行远程脚本会输出 “Must be connected to a terminal.”
解决:
2.通过execute shell启动的进程会被杀死的问题
原因:
Jenkins默认会在Build结束后Kill掉所有的衍生进程。
解决:
方法1:重设环境变量build_id,使得jenkins不会找到并结束掉shell脚本启动的后台进程
在execute shell输入框中加入BUILD_ID=DONTKILLME,即可防止jenkins杀死启动的脚本。
方法2:在启动jenkins 的时候禁止jenkins杀死衍生进程
修改/etc/sysconfig/jenkins配置,在JENKINS_JAVA_OPTIONS中加入-Dhudson.util.ProcessTree.disable=true
。需要重启jenkins生效