Jenkins实现Android项目CI和二维码下载
Posted wpyily
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jenkins实现Android项目CI和二维码下载相关的知识,希望对你有一定的参考价值。
前言
目前参与一个SDK项目中的测试工作,想把整个获取测试包的过程自动化起来,所以用jenkins做了一个CI流程,目前暂时具备以下功能:
- 自动触发更新
- 自动Build Task
- 在页面上产生可下载附件
- 二维码扫描安装
环境搭建
Jenkins安装
Jenkins的安装部署在这里不做赘述,需要注意的是最新版本分为1.651.3版本和2.12两个版本,配置会有差别,具体更新可以参看官网—— Jenkins官网。本文例子是在Tomcat中运行的,所以你得配置相关的环境,确保能正常访问到jenkins页面。
Jenkins插件
Jenkins插件库非常丰富,选择的时候会眼花缭乱,我在这里列一下我所用到的插件:
- description setter plugin(二维码会用到)
- Git plugin
- Email Extension Plugin
- Gradle plugin
- Maven Integration plugin
- SSH Slaves plugin
创建JOB
打开Job任务
设置源码管理
如何设置Credentials请大家自行搜索。如下图:
注意事项
- Credentials配置证书如果需要输入密码,console打印的信息一直是获取中,直到超时
- 配置的证书默认在~/.ssh目录下面
- 拉取代码记得指定branch,master分支比较大(根据项目来判断)
- 可以在【Additional Behaviours】->【Advanced clone behaviours】中设置:
- Shallow clone:不拉取历史版本
- Timeout (in minutes) for clone and fetch operations:修改默认超时的时间(默认10分钟)
构建触发器
代码拉取完成后,需要自动触发编译任务,Jenkins的触发方式有三种:
- Build after other projects are built:有关联项目触发的构建
- Build periodically:根据设定的时间固定触发
- Poll SCM:定期检测项目代码是否更新,更新才触发
增加构建步骤
我们项目选用的是gradle来构建的,所以在下拉列表中选择【Invoke gradle script】,如下图:
在“Tasks”输入框中输入你要调用的task就行,比如”:run“这样的命令
本地生成二维码
在构建任务中新增一个运行shell的命令(Unix/Linux),运行的是我自己定制的生成二维码的工具,代码已经开源,大家可以自己下载,地址是:https://github.com/ariesliu/QRcode4JAVA ,导出jar包后放到jenkins服务器指定位置,然后运行shell命令:
java -jar yourRcodePath.jar url=yourAPKPath.apk image=latestapk.jpg save=yourQrcodeImagePath
构建后操作
- 生成apk文件
- 选择【Achieve the artifacts】,填写build后生成的apk文件,比如:TesterDemo/build/outputs/apk/*.apk
- 选择【Set build description】,在description中填写二维码地址,比如:< img src=’http://myIP:8080/latestapk.jpg‘>(左尖括号的空格去掉)
- 增加邮件提醒,这里不做描述
执行Job
- 效果如下:
以上是关于Jenkins实现Android项目CI和二维码下载的主要内容,如果未能解决你的问题,请参考以下文章
使用 Jenkins 搭建 iOS/Android 持续集成打包平台
Jenkins+Gradle实现Android移动端自动打包+生成apk二维码