centos 下 使用Jenkins配置Git+Maven的自动化构建
>Jenkins是一个开源的持续集成工具,应用Jenkins搭建持续集成环境,可以进行自动构建、自动编译和部署,非常方便。
> 在服务器比较少的情况下,Jenkins的优势并不明显,但是随着项目发展,服务器数量的增加,Jenkins的优势就会凸显出来,可以很好的提高效率,减少很多人工操作。
> 现在很多公司的Java项目开发都是使用Git或者SVN管理代码,Maven管理多模块和项目依赖,所以今天尝试学习如何使用Jenkins搭建Github与Maven下的自动构建和部署。
部署Jenkins
官网下载http://jenkins-ci.org/。目前的最新版本是1.629。
Jenkins的安装十分简单,下载后就是一个jenkins.war的war包,可以直接部署在Tomcat或者其他容器中。 另外官网还有相关的.deb等的安装,比较繁琐,具体哪种方式部署可以自己选择
安装相关插件
把war文件拷贝到Tomcat的webapps目录,
启动后进入http://SERVER_PATH:8080/jenkins/,可以看到Jenkins已经在运行:
配置Git仓库需要用到Git插件,同时我们还需要安装maven插件,其他的插件根据情况选择性安装即可
全局配制
创建任务,配置项目信息
常见问题
- git 错误: Unable to find remote helper for 'https'
原因是: /usr/local/git/libexec/git-core/ 路径没在 PATH 环境变量中
- 执行shell命令启动后项目不启动/无效
原因是:jenkins默认在build结束后会kill掉所有的衍生进程
解决方案:
- 针对每个item:在execute shell输入框中加入BUILD_ID=DONTKILLME,即可防止jenkins杀死启动的tomcat进程
- 永久方案:启动jenkins 的时候禁止jenkins杀死衍生进程
- 使用java -jar启动,-Dhudson.util.ProcessTree.disable=true -jar jenkins.war
- 使用Tomcat启动,Linux系统修改catalina.sh,在环境变量的说明后,脚本开始前加上这句话 JAVA_OPTS="$JAVA_OPTS -Dhudson.util.ProcessTree.disable=true"; 修改好Tomcat的配置文件后重新启动Tomcat