关于Jenkins自动打包Android的apk包,网上官方的太多,这里简单纪录一下博主的经历和打包的参数纪录

(本篇文章需要对Jenkins有最基本的基础了解)

博主所在公司曾负责app测试过程中发生过事故,测试环境和预发布环境测试通过后,开发再打包正式环境apk时,忘记修改部分配置参数

导致上线后,app各种功能故障,龙颜大怒,紧急重新发版。

 

 好处:1、服务器自动打包,想什么时候要就什么时候要,不局限于开发是否有空

    2、打包发版转交给测试进行实施,安全闭环进一步锁牢,风险降低

    3、持续集成,可配置相关UI自动化脚本形成持续集成,高大上

    4、自我提升,可拓展性无限放大

    5、。。。

打包过程:

源码管理》》构建环境》》Gradle构建》》自定义后续操作》》构建后操作

解析:首先将git仓库的代码拉下来,通过gradle配置打包参数,然后将生成的apk用于后续拓展,博主是将apk上传至蒲公英,在蒲公英生成一个下载链接和下载二维码

再将下载链接和二维码通过钉钉机器人发送到钉钉群里,

 效果图:

jenkins打包android工程结束后将apk上传到oss上 jenkins android打包_二维码

 

 

1、建立一个自由风格的Jenkins项目:

jenkins打包android工程结束后将apk上传到oss上 jenkins android打包_Jenkins_02

2、源码管理

Android开发将代码集中管理于git仓库,实行打包的第一步就是需要将源码拉下来

在源码管理模块:输入 git的地址、添加拥有权限的账号

jenkins打包android工程结束后将apk上传到oss上 jenkins android打包_移动开发_03

 $git_branch 参数   自定义打包时git分支

jenkins打包android工程结束后将apk上传到oss上 jenkins android打包_git_04

3、构建环境

 

jenkins打包android工程结束后将apk上传到oss上 jenkins android打包_二维码_05

 

4、构建

4.1、 添加Gradle 环境  设置打包apk参数

jenkins打包android工程结束后将apk上传到oss上 jenkins android打包_二维码_06

 

gradle配置打包参数常规的参数:

${VERSION_NAME} 版本名称:如V1.1.0  字符型     Jenkins字符参数

${VERSION_CODE} 主要用于上传应用市场后提示升级:如 1  整型  Jenkins字符参数

${API_ENVIRONMENT} 渠道包参数:如 测试环境(test)、预发布环境(pre)、正式环境(pro)  Jenkins选项参数

########:其实基于以上就能拿到打包的apk文件,但为了后续的方便,便上传至蒲公英,这样可以拿到下载链接和下载二维码

4.2、上传至蒲公英:

jenkins打包android工程结束后将apk上传到oss上 jenkins android打包_git_07

蒲公英的key值需要自己去申请,下面分别是上传的路径的apk包

蒲公英会返回一些自己的参数,如下载地址:${appShortcutUrl}、二维码:${appQRCodeURL}  需要什么需要自己去查询

查看日志可查询到参数:蒲公英所有参数如下

jenkins打包android工程结束后将apk上传到oss上 jenkins android打包_移动开发_08

4.3、将下载链接和二维码图片通过顶顶机器人发送至钉钉群

增加构建步骤,执行shell 。xxxxxxxxxxxx为钉钉机器人token


jenkins打包android工程结束后将apk上传到oss上 jenkins android打包_移动开发_09

 



curl -H "Content-type: application/json" -X POST -d '{"msgtype": "text","text": {"content": "下载链接:'"https://www.pgyer.com/${appShortcutUrl}"'"},}' https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
curl -H "Content-type: application/json" -X POST -d '{"msgtype": "markdown","markdown": {"title":"下载二维码","text":"![screenshot]('${appQRCodeURL}')"},}' https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx



 

 5、构建后操作

jenkins打包android工程结束后将apk上传到oss上 jenkins android打包_移动开发_10