什么是Jenkins
Jenkins是一个独立的、开放源码的自动化服务器,它可以用于自动化与构建、测试、交付或部署软件相关的各种任务。
用处
Jenkins 持续集成可以实现整个流程的自动化,即自动构建 build,上传到指定地址,再下载安装包到指定的环境中进行安装,并进行 BVT 测试。这个流程可以设置每日定时进行,这样就可以加快整个开发过程,使得每个开发人员更好的掌握和控制开发流程。
下载
- war包方式
 - msi安装
 
war包方式
下载地址:Download Jenkins
下载后解决运行下列命令即可
1  | java -jar jenkins.war --httpPort=8080  | 
下载msi安装包
其中有两个版本
- Long-term Support (LTS)
 
LTS(长期支持)版本每隔12周从定期发布流中选择,作为该时间段的稳定发布
- Weekly
 
每周发布一个新版本,以向用户和插件开发人员提供bug修复和功能。
我下载的是Weekly版本,上线应用建议下载LTS版本
下载地址:Download Jenkins 2.127 for : Windows
双击安装msi,完成后在服务中停止Jenkins,修改端口
文件路径在Jenkins\jenkins.xml,改为–httpPort=6060
1  | <executable>%BASE%\jre\bin\java</executable>  | 
在服务中重新启动
查看并配置
默认端口: http://localhost:8080
修改端口之后的: http://localhost:6060
解锁jenkins

安装推荐的插件

安装完成后修改密码
Jenkins 全局配置
JDK 和 Gradle 配置
系统管理 > 全局工具配置 > JDK

系统管理 > 全局工具配置 > Gradle

Android SDK 配置
系统管理 > 全局属性 > 环境变量

创建 Jenkins 构建任务
新建任务

配置基本信息

配置源码

配置构建

release打包
1  | app:clean  | 
debug打包
1  | app:clean  | 
配置构建后

1  | **/*.apk  | 
立即构建
1  | BUILD SUCCESSFUL in 4m 3s  | 
出现了BUILD SUCCESSFUL, 代表任务构建成功
出现的问题
反向代理设置有误
Jenkins URL和浏览器URL不一致导致,都改成scheme://ip:port
1  | http://192.168.1.138:8080  | 
参考:Jenkins says my reverse proxy setup is broken
‘gradle.bat’ 不是内部或外部命令,也不是可运行的程序
1  | [Gradle] - Launching build.  | 
解决方法:在构建里面选择相应的gradle版本
首次安装配置完成之后出现首页空白
重启Jenkins重新打开网页
构建失败C:\Windows\system32\config\systemprofile.… error: file not found.
1  | C:\Windows\System32\config\systemprofile\.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.0.2.aar  | 
打开cmd
1  | echo %USERDOMAIN%\%USERNAME%  | 
获取到之后填入,检查名称后无误后点击确定

填入该账号的密码确定

重启服务
注: 该账号的密码不能为空..不然报错
参考:Running Jenkins in Windows with regular user account to see executables in PATH
相关主题
- https://jenkins.io/ , Jenkins官网
 - http://mirrors.jenkins.io/war-stable/latest/jenkins.war , Jenkins War包下载
 - https://jenkins.io/download/thank-you-downloading-windows-installer , Jenkins 安装包下载
 - https://blog.csdn.net/zhaoyanjun6/article/details/77102359 , Jenkins实现Android自动化打包
 - https://wiki.jenkins.io/display/JENKINS/Jenkins+says+my+reverse+proxy+setup+is+broken , 反向代理设置有误
 - https://antagonisticpleiotropy.blogspot.com/2012/08/running-jenkins-in-windows-with-regular.html
 - https://www.ibm.com/developerworks/cn/java/j-lo-jenkinsintegrate/index.html , 使用 Jenkins 实现软件开发的持续集成