• 已删除用户
Administrator
发布于 2017-01-13 / 22 阅读
0

Android项目持续集成之Jenkins的使用

Jenkins拥有的特性包括:
1. 易于安装-只要把jenkins.war部署到servlet容器,不需要数据库支持。
2. 易于配置-所有配置都是通过其提供的web界面实现。
3. 集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知。
4. 生成JUnit/TestNG测试报告。
5. 分布式构建支持Jenkins能够让多台计算机一起构建/测试。
6. 文件识别:Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。
7. 插件支持:支持扩展插件,你可以开发适合自己团队使用的工具。

Jenkins安装

前提准备:需要安装JDK、Git(用Git做版本管理)
下载jenkins.war:可以去官网http://jenkins-ci.org/下载最新版本,下载地址:http://mirrors.jenkins-ci.org/war/latest/jenkins.war

启动服务器

  打开命令行(CMD),并定位到jenkins.war文件的目录下,然后执行Java –jar jenkins.war看到如下图所示,表示启动成功。

记下上面输出的密码,也可到当前电脑用户目录下查看:C:\Users\用户名\.jenkins\secrets\initialAdminPassword,用户名换成你自己当前电脑账号

然后打开浏览器输入http://127.0.0.1:8080/,就能进入到jenkins初始化界面,如下图

输入上面记下的密码,下一步进到下面的界面:

这里新建一个用户,也可不输入,直接Continue as admin,进入系统后再添加也行,下一步进入如下界面,安装需要插件:

选择左边的建议安装插件,下一步:

安装插件时有可能会失败,失败时可以刷新一下界面即可进入系统,进入系统后再重新安装:

进入“系统管理”,失败的插件在右边上部分显示,如下图:

进入“管理插件”-“可选插件”,安装必须的插件:

  1. 必须安装的有:
    git(这里使用git作为版本控制):scm-api.hpi、git-client.hpi、git.hpi
    android:port-allocator.hpi、android-emulator.hpi、analysis-core.hpi、android-lint.hpi
    gradle(项目是使用Android Studio开发的):gradle.hpi

  2. 可选安装的有:
    单元测试:junit.hpi
    代码覆盖率:jacoco.hpi
    代码查虫:findbugs.hpi
    邮箱扩展:email-ext.hpi

如果安装失败,先看一下失败原因,点失败的插件右边的详情,如下图:

这里有两种情况会失败:

1、依赖的包没有安装,按照提示安装即可;

2、网络连接失败,是网络太慢了,这种情况可以进入官网(https://plugins.jenkins.io/)手动下载安装,查找插件下载到本地,网页打不开时,尝试把https改成http,我就是改成http才能下载的

插件下载好后,进入“系统管理—>管理插件—>高级”

如上图,将之前下载的插件,上传安装。重启服务生效。

 

安全设置

控制权限

为了安全起见,设置访问控制权限

 

进入授权策略界面,如下图:

 

默认是没有限制的,即任何用户都是超级管理员,这里选择“安全矩阵”,输入管理员账号,点添加,然后打上所有的勾并保存

如果忘记管理员密码,可以到电脑用户目录下找前面初始化时记下的密码

 

添加用户

权限设置和前面一样

 

系统设置

“系统管理—>系统设置”,进入到系统设置界面

 这里只需要设置:全局属性Jenkins LocationExtended E-mail Notification这三项,其它默认即可

全局属性添加android SDK的环境变量:ANDROID_HOME,如下图:

Jenkins Location输入Jenkins的地址,编译结果通过这个地址来查看详细信息的,系统管理员邮件地址是用来发送结果的邮箱,如下图:

Extended E-mail Notification 是配置发送邮箱的账号和密码,如下图:

 

 

创建项目

回到首页,点击新建,创建一个项目,如下图:

输入项目名称和选择项目类型为“自由风格软件项目”,如下图:

进入到项目配置界面,General页默认就行,源码管理页配置如下图:

这里用Git作为版本管理工具,所以选择Git,并输入仓库地址,Credentials 点击“Add”按钮,选择“Jenkins”,进入下图界面:

我的这个测试工程是在github上的,所以这里输入的用户密码是github的,根据你的情况输入


构建触发器
页选择“Poll SCM”并输入“日程表”:H/5 * * * *,表示每5分钟触发一次自动构建,如下图

构建页增加构建步骤,选择"invoke Gradle script",如下图

进入下面界面,选择“Use Gradle Wrapper”项,并输入“Tasks”为:clean assembleRelease,“Root Build script”输入:${workspace},如下图:

 接下来添加 "构建后操作",选择"archive the artifacts",如下图:

进入后输入要存档文件,如下图:

上图的文件是编译后的apk包,请根据你自己的真实情况填写即可,
然后再增加一个“构建后操作”选择"Editable Email Notification",如下图:

输入接收邮箱和回复邮箱,邮件主题,邮件内容,添加附件、添加日志,并点击“advanced Settings”,即高级,进入下图界面:

上图是添加构建后发送邮件的条件,这里可以失败时发给开发者,成功时发给测试和领导,看情况而定。

然后保存退出,最后等待编译结果,当版本库上有新提交时就会自动构建,也可以手动触发构建。

构建后会收到如下邮件: