Jenkins+Android自动打包

完成后的配置界面:
《Jenkins+Android自动打包》

虽然踩了很多坑,但总算稍微理解了Gradle机制,并完成了自动打包功能,具体步骤:

第一步:环境配置(略,网上一大堆)

1、安装Tomcat
2、安装Jenkins
3、Android开发环境和APP代码

第二步:配置gradle.properties文件

由于我公司的APP现在的代码里的properties属性都是写在parking目录下的config.properties文件里,不是在项目的gradle.properties文件里,所以Gradle命令用-P自定义属性无效(坑了我半天,最后才搞明白);所以我跟开发商量后,把config.properties文件里的参数都移到gradle.properties里来(下图中是还没有完全移的,我把一些我需要的先移过来了)

《Jenkins+Android自动打包》

第三步:配置build.properties文件(我这项目是parking目录下的build. properties)

1、把移到gradle.properties文件里的参数引用改下(部分代码图)
《Jenkins+Android自动打包》

2、增加打包位置和打包名字的输出配置

//修改生成的apk名字
applicationVariants.all { variant ->
variant.outputs.each { output ->
def outDirectory = JENKINS_OUTDIRECTORY
def newName = 'GoodParking' + JENKINS_VERSIONNAME + '_' + variant.buildType.name+'_'+JENKINS_CHANNEL_NAME+'_'+JENKINS_BUILD_TIME +'.apk'
output.outputFile = new File(outDirectory, newName)}
}

《Jenkins+Android自动打包》

3、其他自定义的参数,有需要自己添加即可

第四步:配置Jenkins参数

1、回到Jenkins主界面->系统管理->Global Tool Configuration: 配置好JDK与Gradle。由于我本地已安装好JDK与Gradle所以只需为其指定路径即可。
《Jenkins+Android自动打包》

2、然后回到主界面->新建->构建一个自由风格的项目->ok:

勾选上参数化构建过程,可选Choice可为其配置可选参数或者String Parameter给个默认值。我的项目需要配置的可选参数有编译环境、打包渠道、版本号、版本CODE等
《Jenkins+Android自动打包》
《Jenkins+Android自动打包》

3、配置打包地址和BUILD时间参数(Dynamic Parameter需要装插件)
《Jenkins+Android自动打包》

4、因为我的代码是在本地的,不需要SVN,所以SVN配置什么的可以先不管。
《Jenkins+Android自动打包》

5、在构建环境中勾选上Set Build Name,主要是动态生成每次显示在构建页上的名称方便查看。
《Jenkins+Android自动打包》

6、在构建栏里面选择Invoke Gradle Script->选择配置好的Gradle Version->在Tasks中输入Gradle命令(没了解过的建议先看下Gradle的基本命令),我们先执行一个clean,然后开始编译,这时候就可以用引用上面配置的一些参数了,这里可以用-P命令把参数传入,也可以更方便的把下面的Pass jod parameters as Gradle properties勾选上,其实内部也是用-Pkey=Value的命令。
《Jenkins+Android自动打包》

7、好,到这里都没问题的话,已经可以打包到指定目录了

参考文章:利用Jenkins玩转Android自动打包发包

    原文作者:GREG蓝天
    原文地址: https://www.jianshu.com/p/866485a8bb6d
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞