转摘:http://blog.csdn.net/u013658636/article/details/50811117
以前都是通过IDE(eclipse or Android Studio)手动生成apk通过QQ或者邮件发送给测试人员进行测试,现在的司要求对项目进行持续集成,也就是说通过某种方式定时(比如每晚凌晨三点)自动将git库中最新的代码pull下来编译打包,测试人员每天早上上班都能拿到最新的代码打包的Apk。如何在服务器里拉最新的代码给自动编译(jenkins这个就可以,如何搭建请参考我的另外博客:Jenkins+Gradle实现android开发持续集成、打包)那么在Jenkins如何配置版本控制了,这才是关键
我们可以去这个地址 https://github.com/takezoe/gitbucket/releases 下载最新的gitbucket.war ,然后放在tomcat 的webapps目录下 运行tomcat,登陆,创建git库,然后剩下的和github用法一样,这个就可以作为服务器存在 然后在配置jenkins源码管理就这么简单:
首先看看cvs
enkins有一些专用术语,请参考下面的连接:
https://wiki.jenkins-ci.org/display/JENKINS/Terminology
1.通过Jenkins web页面添加Git plugin
Manage Jenkins->Manage Plugins->Available中选择Git Plugin安装,
注意要填写user name和 email地址,否则日后会碰到git tag的错误
2.在Jenkins使用的机器上创建Git用户所需要的公钥
具体步骤参考前面Git server文章
http://blog.csdn.net/sheismylife/article/details/7204345
但是注意,要将最后生成的.ssh目录下的公钥和私钥文件复制到/var/lib/jenkins/.ssh目录下,否则git clone命令会报错
3.修改jenkins目录权限
chmod -R 777 /var/lib/jenkins
4.现在可以通过web页面创建一个项目Test,然后设置该项目使用Git作为版本管理。
并且设置repository路径,比如我的:git@S1:cml.git
5.在build选项的pom文件指定你需要执行的pom.xml路径
比如我的一个测试工程名叫client,是个maven工程,我设置为client/pom.xml
6.现在可以点击左侧的Build now进行测试
一切OK,则没有错误日志。在Build History中可以看到测试结果,有没有错误。
7.Email发送设置
在Manage Jenkins->Configure System->Email Notification中,设置SMTP发送的基本信息,点击Advanced,可以填写用户名和密码。还有一个测试按钮可以用来发送测试设置是否正确。
同时在Test项目中的Building Settings打勾选中E-mail Notification,点击右边的问号,会出现帮助文档,说明在四种情况下会发送email,填写接受email的地址,然后故意将client代码修改到不能编译通过。然后点击Build now按钮测试一下。果然收到email.
8.检查代码更新并编译
可以通过Poll SCM来设置定时检查编译功能
比如/5 * * * 就是每隔5分钟检查一次,如果git仓库中有更新,则执行build操作。
-
Jenkins → configuration下告诉jenkins你的JDK、GIT安装路径
- 至此配置完毕, 现在开始建个自由风格的job, 各项的配置如下
当进行构建时, jenkins会去该url 获取你的代码到当前workspace
- 至此配置完毕, 现在开始建个自由风格的job, 各项的配置如下
如果要实现email的发送,
需要安装iis, 配置smtp服务(不熟悉的同学网上搜一搜吧)
当然如果有现成的smtp服务,直接在jenkins -config页面填写,包括端口(默认22)
好啦,等不及的话先点击‘Build Now’ 手动构建吧,
验证jenkins如何自动构建:
修改下本地git仓库的代码,commit 并push 到远程仓库, 等2分钟的样子,jenkins便会自动构建。(由于上面设置了每2分钟检查git源码仓库,如有checkin就触发构建)
更多参考文章http://www.blogjava.net/qileilove/articles/410242.html
http://www.cnitblog.com/luckydmz/archive/2012/01/03/77007.html