Jenkins+Android自动打包

作者: GREG蓝天 | 来源:发表于2018-01-08 16:53 被阅读3583次
    完成后的配置界面:

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

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

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

    第二步:配置gradle.properties文件

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


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

    1、把移到gradle.properties文件里的参数引用改下(部分代码图)

    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)}
    }
    

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

    第四步:配置Jenkins参数

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

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

    勾选上参数化构建过程,可选Choice可为其配置可选参数或者String Parameter给个默认值。我的项目需要配置的可选参数有编译环境、打包渠道、版本号、版本CODE等 3、配置打包地址和BUILD时间参数(Dynamic Parameter需要装插件) 4、因为我的代码是在本地的,不需要SVN,所以SVN配置什么的可以先不管。 5、在构建环境中勾选上Set Build Name,主要是动态生成每次显示在构建页上的名称方便查看。 6、在构建栏里面选择Invoke Gradle Script->选择配置好的Gradle Version->在Tasks中输入Gradle命令(没了解过的建议先看下Gradle的基本命令),我们先执行一个clean,然后开始编译,这时候就可以用引用上面配置的一些参数了,这里可以用-P命令把参数传入,也可以更方便的把下面的Pass jod parameters as Gradle properties勾选上,其实内部也是用-Pkey=Value的命令。

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

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

    相关文章

      网友评论

        本文标题:Jenkins+Android自动打包

        本文链接:https://www.haomeiwen.com/subject/fnjbnxtx.html