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项目构建请见下篇文章
- linux+jenkins+gradle+gitlab自动化打包发布andriod APP
- 使用Jenkins+gitlab自动化打包
- Linux中Jenkins+Git+Gradle自动化打包Android
- Android Gradle JenKins SVN 自动化打包
- jenkins+gitlab+蒲公英实现android应用自动化打包分发
- Jenkins + gitlab 自动化部署
- Jenkins Gradle 打包
- jenkins 自动化打包
- jenkins 自动化打包
- Linux下的Jenkins+Tomcat+Maven+Gitlab+Shell环境的搭建使用(jenkins自动化部署)
- jenkins+gradle+android自动化构建apk(Linux服务器)
- linux jenkins+gradle+svn 自动化部署android项目+自签名
- Jenkins自动化发布配置
- git linux上自动化打包发布脚本
- git linux上自动化打包发布脚本
- JENKINS 打包发布脚本
- Android jenkins 打包发布
- Jenkins+Ansible+Gitlab自动化部署三剑客
- 四元组相加获得target
- 高性能序列化protostuff
- 多线程编程 使线程具有有序性
- Linux文件查找命令
- 使用spring aop管理事务
- linux+jenkins+gradle+gitlab自动化打包发布andriod APP
- com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; che
- MySQL入门---登陆、退出、修改提示符、常用规范
- ajax中的timeout
- java Thread interrupt方法
- WAF绕过参考资料
- <NOIP> 6 . P1089 津津的储蓄计划
- 页面显示时间为object Object
- matplotlib2.02基本画图