how to build your android apps with jenkins

背景
很多公司都会有自己的APP,很多打包操作都是安卓的开发人员在自己的本机上完成的,很多都是口口相传,没有一套通用的打包平台,在工作的交接过程中非常麻烦,需要经常去配置环境。

环境部署
大部分的公司的做法,都是通过jenkins去实现android的apk的包的构建,然后,将包上传到CDN上

安装需要的插件

  • git
  • gradle
  • Git Parameter

打包依赖

  • gradle
  • android sdk
  • jdk

配置依赖

mkdir /data/android -p
#创建android sdk路径
mkdir /data/android/sdk && cd /data/android/sdk
wget https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip
unzip sdk-tools-linux-4333796.zip

在jenkins设置ANDROID_HOME(系统设置中)

#通过sdk tool来安装android所依赖的版本
tools/bin/sdkmanager "platform-tools" "platforms;android-26"
#设置gradle的路径
mkdir /data/android/gradle && cd /data/android/gradle
wget https://downloads.gradle.org/distributions/gradle-4.6-all.zip
unzip gradle-4.6-all.zip

在jenkins中设置gradle的路径(全局工具配置)

#设置jdk的路径
mkdir /data/android/jdk && cd /data/android/jdk
tar -xf jdk-8u65-linux-x64.tar.gz

在jenkins中设置jdk的路径(全局工具配置)

注意
将以上目录的权限都划给jenkins

chown -R jenkins:jenkins /data/android/

jenkins会自动设置好环境变量

$ su - jenkins
$ env | grep PATH
PATH=/var/lib/jenkins/.pyenv/plugins/pyenv-virtualenv/shims:/var/lib/jenkins/.pyenv/shims:/var/lib/jenkins/.pyenv/bin:/data/android/jdk/jdk1.8.0_65/bin:/data/android/jdk/jdk1.8.0_65/jre/bin:/data/android/sdk/tools:/data/android/sdk/platform-tools:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/usr/local/go/bin:/root/.nvm/v8.11.2/bin/npm:/root/.nvm/v8.11.2/bin/node

配置项目
可以通过参数化构建,来让用户选择对应的分支进行构建

建议设置一个用户用来拉取git上所有的代码

进行构建操作,填写shell

构建
选择对应的分支,构建

上传到cdn
这里没有做进一步的操作,可以将打好的包,上传到阿里云的oss上,然后,将包下载的域名CNAME到oss对应的域名上,可以在构建中,将每次的包放到对应的build id下,然后,通过python的sdk,上传到oss上。我们当前线上的静态文件(css/js/image)都是这么操作的,确认可行。

建议

  • 一定要保证依赖的工具,jenkins有权限执行
  • 一定不要用root进入到workspace手动build,如果手动build了,一定要清除.xx的目录,保证项目的权限为jenkins

转载于:https://my.oschina.net/u/1987102/blog/1861722

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值