linux+jenkins+gradle+gitlab自动化打包发布andriod APP

来源:互联网 发布:声音剪辑合成软件 编辑:程序博客网 时间:2024/05/29 17:29

本文所讲的自动化发布是发布到自己公司的服务器上面,然后测试人员通过二维码下载最新的debug版本,减去了测试人员一直找研发人员安装apk的过程,在网上找了很多关于这方面的知识,都是发布到蒲公英,fir.im的,有没有大神知道如何自动化发布到各大平台的方法,比如应用宝,360市场,安卓市场等等,还请大神指示
1.下载安装jenkins,自行去官网或者百度查询,下边贴出官网链接。

https://jenkins.io/doc/book/getting-started/installing/

2.安装插件gradle plugin

系统管理–>管理插件–>在右上角过滤栏输入’gradle’–>下载安装
按此方法安装GitLab Plugin 和Publish Over SSH

3.登录jenkins服务器下载gradle4.0

wget https://services.gradle.org/distributions/gradle-4.0-bin.zip

也可以自行去官网下载

https://gradle.org/releases

解压配置gradle

mkdir /opt/gradleunzip -d /opt/gradle gradle-4.0-bin.zipecho "export PATH=$PATH:/opt/gradle/gradle-4.0/bin" >> /etc/profilesource/ 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/profileecho "export PATH=$ANDROID_SDK_HOME/tools:$ANDROID_SDK_HOME:$PATH" >>/etc/profilesource /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 nginxmkdir /usr/share/nginx/html/download/systemctl start nginxsystemctl 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项目构建请见下篇文章

原创粉丝点击