Android 开发基于 Jenkins 实现持续集成

Jenkins简介

Jenkins是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上。同时Jenkins能实现监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性。Jenkins的前身是Hudson,是一个可扩展的持续集成引擎。

Jenkins安装与配置

下载地址

http://mirrors.jenkins-ci.org/war/latest/jenkins.war

安装

将下载的jenkins.war包直接放到tomcat下的webapps目录下,然后启动tomcat即可安装完成,接下来登录:http://localhost:8080/jenkins就能进入jenkins系统页面,在此不说tomcat如何配置环境变量。

编码问题

当你进入jenkins系统管理页面,会出现如图提示,可修改tomcat的server.xml配置,在Connector 标签添加上 URIEncoding=”UTF-8”。

Android 开发基于 Jenkins 实现持续集成_第1张图片

配置

Android 开发基于 Jenkins 实现持续集成_第2张图片

Android 开发基于 Jenkins 实现持续集成_第3张图片

首先先添加一个administer用户作为超级管理员,全部权限都打勾,如图admin用户。保存,重启。用刚刚添加的超级管理员作为账号名注册一个账号,即可拥有超级管理员权限。

Android 开发基于 Jenkins 实现持续集成_第4张图片

环境变量

系统管理 => 系统设置,配置环境变量

Android 开发基于 Jenkins 实现持续集成_第5张图片

全局工具配置

系统管理 => 全局工具配置,配置git 及 gradle 变量

Android 开发基于 Jenkins 实现持续集成_第6张图片

Jenkins Gradle插件安装

点击“系统管理”–> “管理插件” –> “可选插件” 选中Gradle plugin插件安装重启即可。

Android 开发基于 Jenkins 实现持续集成_第7张图片

Android 开发基于 Jenkins 实现持续集成_第8张图片

Jenkins新建任务

点击“新建”

Android 开发基于 Jenkins 实现持续集成_第9张图片

选择“源码系统”

Android 开发基于 Jenkins 实现持续集成_第10张图片

  • Repository URL:git 仓库地址(建议使用 ssh 配置公钥方式,详情请查阅相关文档)

选择“构建触发器”

来到了这一步,实属不易,这里就是我们的天堂,就能完成“每当svn上项目版本更改后,我就自动构建,然后跑一次单元测试,当然也可以改成每天一次或者每小时一次来监控svn上项目版本更改情况。”

Android 开发基于 Jenkins 实现持续集成_第11张图片

Build periodically:周期进行项目构建(它不关心源码是否发生变化)

Poll SCM:定时检查源码变更(根据SCM软件的版本号),如果有更新就checkout最新code下来,然后执行构建动作,这里我选择它。

选择“日程表”

Android 开发基于 Jenkins 实现持续集成_第12张图片

 第一个参数代表的是分钟 minute,取值 0~59;
 第二个参数代表的是小时 hour,取值 0~23;
 第三个参数代表的是天 day,取值 1~31;
 第四个参数代表的是月 month,取值 1~12;
 第五个参数代表的是星期 week,取值 0~7,0 和 7 都是表示星期天。
 如H/5 * * * * 表示的就是每5分钟检查一次源码变化。

选择 “构建”,添加“Invoke Gradle script”

Android 开发基于 Jenkins 实现持续集成_第13张图片

Android 开发基于 Jenkins 实现持续集成_第14张图片

Switches :即gradle 后面所接的命令。上面相当于执行gradle clean build命令。

开始构建

Android 开发基于 Jenkins 实现持续集成_第15张图片

构建后操作

您可以选择发送邮件或者上传蒲公英等。

Android 开发基于 Jenkins 实现持续集成_第16张图片

邮件通知

点击“系统管理”–> “系统设置”

Android 开发基于 Jenkins 实现持续集成_第17张图片

Android 开发基于 Jenkins 实现持续集成_第18张图片

构建历史

构建完成后,可查看构建历史及构建详细信息~

Android 开发基于 Jenkins 实现持续集成_第19张图片

结语

希望这篇文章对IT同胞们会有所帮助~

你可能感兴趣的:(【,Android,】)