简介
本文主要介绍如何通过Jenkins+SVN+Gradle搭建Android自动打包过程。
原先提交测试流程是:开发打Apk包,然后再发送给测试人员测试,在快速迭代的过程中,开发修改完bug后,又要重复打包给测试,非常繁琐。所以搭建自动构建势在必行,需要把开发从这个流程中抽离出来,让测试自己去打包测试了,只要一个按钮即可自动构建。
image.pngJenkins 是一款流行的开源持续集成(Continuous Integration)工具,广泛用于项目开发,具有自动化构建、测试和部署等功能。
安装Jenkins
-
官网下载:https://jenkins.io/
image.png
直接下载安装包进行安装部署
-
安装JDK
Jenkins 自身采用 Java 开发,所以要必须安装 JDK(Java 8); -
安装AndroidSDK
官网(可翻墙选择):http://developer.android.com/sdk/index.html
不可翻墙选择:http://www.androiddevtools.cn/
不可翻墙选择:http://tools.android-studio.org/
SDK Manager 下载各个版本的SDK
配置说明
登录
http://localhost:8080/
首次进入需要输入初始密码来解锁。
密码在安装目录下的:Jenkins\secrets\initialAdminPassword
进入 Jenkins 定制界面,让选择 Install suggested plugins,安装推荐插件即可,后面有需要可以再安装其他插件。
插件安装完后,设置第一个管理员账号,进入主界面
image.png
基础配置
1.Global Tool Configuration(全局工具配置)
image.png
JDK:别名=任意,JAVA_HOME=JDK目录
Gradle:别名=任意,GRADLE_HOME=Gradle下载目录\Gradle\gradle-2.xx
Gradle尽量配置多个,因为项目的gradle版本可能不一样,所以需要选择不同的Gradle版本进行编译
-
全局管理-系统配置
全局属性 - 环境变量- 添加Android SDK路径
image.png
创建项目
[新建任务]
image.png
General
源码管理
设置svn地址
点击Add,添加账号和密码
image.png
Local module directory(.)表示代码会CheckOut到Jenkins\workspace\NewTask目录下。
点击保存,回到项目界面,然后点击【立即构建】
image.png
Jenkins就会发起一个构建任务,这时候我们可以到Jenkins\workspace\NewTask目录下,看到代码checkout出来了。后面会进入构建打包配置。
构建触发器
进行自动构建触发,可以配置什么时候构建,目前先不配置。
构建环境
暂不配置。
构建
image.png配置Gradle版本和任务(clean assembleRelease --stacktrace --debug)
image.png
点击保存,回到项目界面,然后点击【立即构建】,可以看到在app下有apk生成了。
构建后操作
1. 配置Archive the artifacts
把构建包进行存档,会显示在每次构建上面。
/build/outputs/apk/release.apk
点击保存,回到项目界面,然后点击【立即构建】,点击刚才的构建任务,可以在界面看到构建出来的apk.
image.png
Jenkins会保存每次构建任务,保存在jobs/xxx/builds下面
image.png
配置了【Archive the artifacts】,就会把相应的文件保存到archive目录里面。
2. 配置自动上传到fir.im(应用管理平台)
- 要先安装插件:http://blog.fir.im/jenkins/
- 获取fir.im Token
[未完待续]
参考
使用Jenkins进行持续集成
https://www.liaoxuefeng.com/article/001463233913442cdb2d1bd1b1b42e3b0b29eb1ba736c5e000
碰到问题
- 提示“Adding IP addresses for network interface WAN Miniport”
手动到项目下,执行命令:clean assembleRelease --stacktrace --debug
此时,会有一个java访问防火墙的弹窗,点击允许。
2.You have not accepted the license agreements of the following SDK components:[Android SDK Build-Tools 26].
image.png下载SDK Build-Tools 26
image.png
在android-sdk\tools\bin目录下
执行命令:
sdkmanager --update
- What went wrong:
Failed to load native library 'native-platform.dll' for Windows 7 amd64.
- What went wrong:
全局搜索native-platform.dll,把单个native-platform.dll.lock的,重命名成native-platform.dll。
image.png
- Error: Some file crunching failed, see logs for details
直接用命令:gradlew命令构建是可以成功的,但是用Jenkins就是不行。
后来又看到说是build-cache路径过长的问题,查看下构建日志,发现cmd->gradlew命令构建build-cache为
C:\Users\Administrator.android
Jenkins下的build-cache路径是
C:\Windows\System32\config\systemprofile.android
通过Jenkins的配置来控制
image.png
参考:
https://blog.csdn.net/msl0903/article/details/71077898
网友评论