配置 Jenkins 自动化打包,折腾了一段时间,折腾完成就感还是蛮大的,说白了就是一次配置长期受益吧。事先声明 CentOS 7上其实还是没有配置成功,自己的服务器 1核 1G 内存打包的话感觉配置还是低了,最后在自己本地Mac上跑通了,用自己电脑当服务器,平常用足够了。现总结一些遇到坑,为后来人多铺点路吧。。。
1.一开始对 CentOS 7系统不熟悉,直接上手在上面进行配置,出了问题很难排查,应该先在本地跑通然后再在服务器上配置。
2.在 CentOS 7上安装 jdk sdk gradle git 等组件的时候一顿用 yum install 命令乱装,没有一开始规划好各组件的存放位置,致使在 Jenkins 上各组件配置的时候找不到存放路径,又是一顿谷歌。。。
3.没有认清 Android SDK在 Mac 跟 Linux 下的差距,直接将本地 Mac上的 sdk上传到服务器上,导致运行 build 命令的时候总是出问题,折腾了几天。然后在https://developer.android.com/studio/ 里面下载 Linux 下的
image.png
下载完以后然后需要用 sdkmanager 命令去安装相应的组件。网上搜的资料基本上很多都是很早以前的介绍了,那时候 sdk 还是一个完整体不需要自己去手动下载,下载的时候很多命令还有问题不能直接执行,现在才感觉到有可视化界面安装的好了。
4.git配置的时候页面 显示Failed to connect...
网上搜的一般都是SSH证书没认证啥的,但是我这边拉 git 代码都是通过 HTTP 方式进行连接的,一般这问题都是账号跟密码没有填写正确所致。但是以前在上家公司用的打包机,有项目打包,以前能用突然有一天不能用了,项目管理里面 git 就报这个错,但是其他项目没有影响,账号跟密码是一致的,找问题没有解决,应该是jenkins里面没有识别git的环境变量,直接执行git命令执行不了。
5.git 拉代码的时候连接10分钟超时问题
jenkins 应该是默认有个10分钟编译时间,有时候项目比较大,在服务器上部署的时候拉代码比较慢,时常出这问题,配置如下解决问题
image.png
6.jenkins 显示时间出问题
jenkins修改时区,修改/etc/sysconfig/jenkins
JENKINS_JAVA_OPTIONS="-Duser.timezone=Asia/Shanghai"
改完重启jenkins
7.打包 apk 以后的上传
一般都是上传到蒲公英或者 fir,他们都有相对应的上传插件,不用自己去写 Python 命令调用接口进行上传,方便操作。
作者:被风扬起的沙
链接:https://www.jianshu.com/p/39a71e06997a