1.Jenkins是什么
Jenkins是一个可扩展的持续集成工具。简单就说就是,让项目的代码签出、编译、部署等构建过程自动化完成,并支持周期性自动构建
2.准备工作
首先准备好编译和部署、自动化测试需要用到的脚本,例如ant的build.xml
还需要准备Jenkins的官方war包,笔者使用的版本为1.598 ,
下载地址http://ftp-chi.osuosl.org/pub/jenkins/war/1.598/jenkins.war
3.Jenkins负责什么
Jenkins负责周期性的代码签出、并调用编译部署及自动化测试的脚本,在这个过程中发生任何错误,都可以及时的通过多种方式通知到相关负责人构建失败,例如以邮件的形式告知项目负责人以及提交问题代码的开发人员。
4.下面是Jenkins配置流程
首先将jenkins.war扔到tomcat下并启动,访问10.1.100.10/jenkins,进入系统管理
先进行系统设置
设置JAVA_HOME和ANT_HOME
设置系统管理员邮件地址
设置邮件参数并测试,注意如果想要测试成功,填写的用户名必须与上面的管理员邮件地址相同,设置完成后,保存
接下来创建一个jenkins账号。回到系统管理,点击Configure Global Security
启用用户注册功能
点击注册,注册部分略
再次进入Configure Global Security,更改授权策略,这样就只有刚才建立的用户有所有权限
回到系统设置,默认的邮件插件只能发送邮件给一个人,我们想发送给更多人,需要再安装一个邮件插件,点击管理插件
输入Email Ext Recipients Column Plugin,并安装
新建一个build项目
源码管理部分选择svn地址后会报错如下,点击enter credential,设置账号密码即可。
触发设置,共有4种触发情况
这里说一下第三种和第四种触发情况
Build periodically 周期性构建
Poll SCM 根据SVN等代码同步工具的版本号进行周期性创建,也就是说,版本无改变不构建
为了更容易看到效果,这里选择Build periodically
5 * * * * 的含义是每5分钟执行一次
更多配置方法请查看“?”处的帮助
下面填写构建的shell脚本(根据项目本身依赖关系、环境等进行编译、部署等操作的脚本)
接下来进行构建后操作配置,这里我们只进行邮件配置,选择Editable Email Notification
“cc:”代表抄送,多个邮件用逗号隔开
Trigger可以设置选择在何时发送邮件,默认是构建失败发送邮件,设置Trigger需点击Advanced Settings按钮
也可设置追加发送邮件给对构建有影响的提交者,即”犯过错者” ,设置选项为Culprits,此时该邮件会发给上次构建时提交代码发生错误的人员,插件会基于提交者的ID和追加Jenkins配置页面的(default email suffix)默认邮件后缀来生成一个邮件地址。譬如,上次提交代码的人是”first.last”, 默认的电子邮件后缀为“@somewhere.com”,那么电子邮件将被发送到“first.last@ somewhere.com”。
保存。项目的持续集成构建完毕。
如果有自动化测试的脚本文件,也由Jenkins来调用,即可实现签出、编译、部署、测试的自动化完成,并且在这个过程中有任何问题,按照如上的配置,将发送邮件给Project Recipient List中的地址以及提交错误代码的人。
参考文档
http://jenkins-ci.org/
http://www.cppblog.com/fwxjj/archive/2012/10/04/192809.html