本文所讲的自动化发布是发布到自己公司的服务器上面,然后测试人员通过二维码下载最新的debug版本,减去了测试人员一直找研发人员安装apk的过程,在网上找了很多关于这方面的知识,都是发布到蒲公英,fir.im的,有没有大神知道如何自动化发布到各大平台的方法,比如应用宝,360市场,安卓市场等等,还请大神指示
1.下载安装jenkins,自行去官网或者百度查询,下边贴出官网链接。
2.安装插件gradle plugin
系统管理–>管理插件–>在右上角过滤栏输入’gradle’–>下载安装
按此方法安装GitLab Plugin 和Publish Over SSH
3.登录jenkins服务器下载gradle4.0
wget https://services.gradle.org/distributions/gradle-4.0-bin.zip
也可以自行去官网下载
解压配置gradle
mkdir /opt/gradle
unzip -d /opt/gradle gradle-4.0-bin.zip
echo "export PATH=$PATH:/opt/gradle/gradle-4.0/bin" >> /etc/profile
source/ etc/profile
4.配置gradle插件
通过浏览器登录jenkins
系统管理—>Global Tool Configuration—>找到gradle,如下配置—>保存
5.下载配置sdk
到https://developer.android.com/studio/index.html#downloads下载SDK Tools
或者去 http://downloads.puresoftware.org/files/android/SDK/下载
我下的是 android-sdk_r24.1.2-linux.tgz
wget http://dl.google.com/android/android-sdk_r24.4.1-linux.tgz
解压到opt下
tar xf android-sdk_r24.4.1-linux.tgz -C /opt
配置环境变量
echo "export ANDROID_SDK_HOME=/opt/android-sdk-linux >>/etc/profile
echo "export PATH=$ANDROID_SDK_HOME/tools:$ANDROID_SDK_HOME:$PATH" >>/etc/profile
source /etc/profile
查看可用的组件
android list sdk --all
下载所需要的组件,注意–all 这个参数一定要加上, 否则后面filter里的序号不起作用,需要什么组件可以问andriod开发人员,例如我是
android update sdk -u --all --filter 37,39,42,tool,platform-tools
我的项目中还是用到了NDK,配置方法和SDK大同小异,下载–>解压–>配置环境变量
NDK下载地址
https://developer.android.google.cn/ndk/downloads/index.html
6.jenkins配置andriod自动化构建项目
新建–>自由风格的项目
配置项目名称,配置定时清理项目,否则构建多了,项目会占用磁盘很多
从gitlab拉取代码
点击add添加用户名密码
输入拉取代码的url,注意此命令要求服务器上有git命令–>yum install git
增加构建步骤–>Invoke gradle script
我这里只打包debug版本,给测试人员测试使用
clean assemblecommondebug
clean 表示每次构建都清楚前一次的构建结构,清除build文件夹
assemblecommondebug 表示打包标记为common 的debug版本
这个common需要在build.gradle里面加上
这样打完的包就叫app-common-debug-0.8.apk
7.配置分发到服务器
系统管理–>系统设置–>找到Publish over SSH
我们这里选择使用用户名密码的方式连接
在项目配置中加入 增加构建步骤–>send files or excute commands over ssh
在被分发的服务器上搭建一个web作为文件服务器,我这台服务器上有个apache服务器,我就直接用了,也可以使用nginx服务器
yum -y install nginx
mkdir /usr/share/nginx/html/download/
systemctl start nginx
systemctl enable nginx
使用nginx服务器Exec command 里面的命令更换为
\cp -ra /home/jenkins/anleke/app/build/outputs/apk/app-common-debug-0.8.apk /usr/share/nginx/html/download/
当构建成功后我们可以通过浏览器下载到最新的apk文件
YOUR_IP/download/app-common-debug-0.8.apk
8.生成二维码
百度搜索生成二维码
下载该二维码,以后当研发人员修改完bug之后,只需要提交代码,测试人员就可以通过该二维码下载最新的andriod版本。
如何通过gitlab自动化触发jenkins项目构建请见下篇文章