Jenkins+Gradle+AS+SVN持续化集成-Android自动化构建APP

先看下最终实现的效果图:



功能描述:

可以选择不同环境不同版本不同的SVN分支,打包APP,并实现打包完成后自动上传到蒲公英生成安装二维码


总体步骤如下:

1、  下载最新版Jenkins的war包,并安装JDK(JDK8及以上版本)

2、  运行Jenkins,并安装必须插件,配置好项目执行的Jenkins参数

3、  配置项目build.gradle里面的脚本

4、  编写脚本,使安装包上传到蒲公英平台生成二维码


正式开撸

一、下载新版Jenkins

Jenkins下载latest的war包(Generic Java package(.war))

下载好后先找个目录放好,后面会用上。


接下来安装JDK

JDK安装必须注意自己的系统是32位的还是64位的,安装不对应,和Jenkins搭起来各种问题都会有(意思就是要你安装JDK8对应系统计算位数的版本)。

 

如果已经安装了JDK并配置了环境变量,可以通过以下命令查看当前安装的版本:



 

二、运行Jenkins,安装插件,配置参数

网上的很多相关博文,都说把Jenkins挂载到Tomcat下去运行,但是我挂载到Tomcat下webapps目录后,再启动Tomcat,输入对应的jenkins访问路径,却给我展示的是404之类的页面,多次尝试以及让刘永正也帮忙尝试,结果都是404之类的页面,无助,只能另求他法。如有同学成功使用tomcat挂载这个方案的话,跪求指导。

下面,说说我使用的运行方式:

通过命令行执行命令 java –jar %jenkins本地目录%/Jenkins.war ,如果一切正常,就可以启动jenkins了,这种方式启动的jenkins,默认页面访问路径就是 http://localhost:8080/  ,访问路径可以在jenkins系统管理-系统设置里面修改:


该命令首次启动jenkins时,会在用户的主目录下生成.jenkins文件(如我的文件路径是C:\Users\aceaddi_liang\.jenkins),如果启动时给生成了一串密钥,请记录起来,后面进入jenkins主目录时会用到。

 

如启动命令执行一切正常,输入访问路径后,就会进入jenkins主界面:



接下来,安装必要的插件:

菜单栏选中 系统管理-插件管理 ,进入插件管理页面:

会看到4个tab栏:可更新、可选插件、已安装和高级

前3个好理解,高级tab栏,可以上传本地插件文件进行安装。我这里有2个插件(scriptler和dynamicparameter)就是通过高级tab栏提供的功能安装上的。

 

必要的插件有如下:

Android Lint Plugin

Android SigningPlugin

Build Timeout

Build-name-setter

Credentials BindingPlugin

Credentials Plugin

Description setterplugin

Dynamic ParameterPlug-in

Gradle Plugin

Pipeline

Scriptler

SSH CredentialsPlugin

SSH Slaves plugin

Subversion

Timestamper

Workspace CleanupPlugin

 

目前已知这些插件是要安装上的,有些可能有依赖关系,没有全部列出了,如果有问题,可以对比我这里安装的插件的截图:








安装好插件,下面就要配置好必须的参数了,自动化构建全靠这些关键参数的配置了

 

回到jenkins主界面-〉系统管理-〉全局工具配置:配置好JDK和Gradle。 由于我本地已经安装好了JDK和Gradle,所以只需为其指定路径即可:



注意,自动安装  不必勾上。

再回到系统管理->系统设置界面,配置一些全局属性:


ANDROID_HOME配置android sdk路径;

PYTHON配置python路径;

GRADLE_OPTS配置gradle运行内存;

_JAVA_OPTIONS配置Java执行运存。

其中后二者,需要根据自己电脑系统环境调试配置,如果配置小了,自动化构建过程中会报Java Heap相关异常。

 

然后,回到主界面-〉新建任务页面,输入任务名称(如AutoPkg),选择“构建一个自由风格的软件项目”,确定,ok。

这样就会在主界面出现一个刚创建的任务列表:


接下来,点击任务名称“AutoPkg”,进入项目构建主界面:


点击菜单“Build with Parameters”可进入最终的项目构建效果图页面,在此页面会列出所有配置的参数,选择或设值所需参数,即可进行自动化构建,但在这之前,我们先要配置好项目的构建参数。

 

选择菜单中“配置”进入该任务的具体参数配置页面:


General栏目下面勾选“参数化构建过程”,然后点击“添加参数”,选择添加如下类型的参数:

 

选项参数BUILD_TYPE:


选项参数PRODUCT_FLAVOR:


字符参数APP_VERSION_NAME:

List Subversion tags(and more)参数SVN_TAG:


Dynamic Parameter动态参数BUILD_TIME:


然后,General栏的最后面有一个“高级”操作,点开,勾选“使用自定义的工作空间”,输入目录以及显示名称:


源码管理栏目下面选中“Subversion”,然后输入仓库地址,输入可访问仓库的账户密码:


构建触发器栏无操作,直接跳到构建环境tab栏,勾选并设置BuildName:


这个Build Name主要便于知道你当前在构建一个什么环境的版本。

 

构建tab栏下面选中“Invoke Gradle”,然后选择之前在系统配置中配置的Gradle Version,接着在 Tasks中输入构建指令 clean assemble’${PRODUCT_FLAVOR}’’${BUILD_TYPE}’ –stacktrace –debug ,如图:


这里下面也有一个“高级”操作,展开勾选和填写如下:


在这一栏最底下,有一个“增加构建步骤”,我们可以通过执行一些脚本,把构建成功后得到的apk备份到指定目录,或者上传到蒲公英去生成二维码等。

 

点击展开“增加构建步骤”,选择Execute shell,在编辑框中输入脚本

copy E:\auto_pkg\Sinfo\build\outputs\apk\*.apk E:\auto_pkg_apks\



可以把apk进行备份到另一个目录;

 

继续选择Execute shell,在编辑框中输入以下脚本:

# 配置蒲公英

upload_path="E:\\auto_pkg\\Sinfo\\build\\outputs\\apk\\${PRODUCT_FLAVOR}_${BUILD_TYPE}_V${APP_VERSION_NAME}_${BUILD_TIME}.apk"

pgy_userKey="e28e30d******3d767"

pgy_apiKey="b68451******80ba3"

echo "正在上传apk到蒲公英"

# 上传APK到蒲公英

curl -F "file=@${upload_path}" -F"uKey=${pgy_userKey}" -F "_api_key=${pgy_apiKey}" https://www.pgyer.com/apiv1/app/upload



可以把apk上传到蒲公英去生成二维码,便于下载安装。

 

所有这些完成设置和配置后,记住点击左下角的“应用”(每项配置完成后都可保存配置),以及“保存”(应用并保存所有配置设置)。

 

 

三、配置项目里面的build.gradle脚本

这里面说的build.gradle是指主Module目录下的:

下面主要讲这两个文件的配置。

 

build.gradle






gradle.properties:

build.gradlegradle.properties中用到的动态参数名称需要与jenkins里面的一致,否则build.gradle只能取默认值了

 

最后,build.gradle和gradle.properties也配置完了,提交到SVN仓库,回到jenkins界面,进入项目AutoPkg的主页面,点击Build with Parameters

则会看到我们最开始展示给大家的效果图页面,选择自己想要构建的值,点击“开始构建”就可以了,这个过程看机器的配置吧可能,我这里大概需要10分钟左右可以成功构建完成。

 

构建完成之后,可以打开蒲公英官网,在我的应用列表相应页面即可看到刚提交上去的apk安装包以及二维码等信息:

全文完,大家在学习构建过程中如有什么问题,欢迎交流!

 

By aceaddi

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值