@[TOC](jenkins+grandle 打包android项目(多个git仓库)实例)
一:项目描述
本android项目,依赖多项目
依赖插件 Multiple SCMs、Maven Integration
二:安装插件Multiple SCMs、Maven Integration
登录jenkins,在首页,点击左侧【系统管理】-【插件管理】-【可选插件】,搜索Multiple SCMs/Maven Integration,安装,重启。
三:新建任务
在首页,点击左侧【新建任务】:
在新页面中输入项目名称,点击【构建一个自由风格的软件项目】,保存。
在配置页面中配置如下:
3.1:General

【注意】:【参数化构建过程】中的参数为android项目gradle.properties配置文件中的信息。
3.2:源码管理
【源码管理】,选中Multiple SCMs,配置仓库地址,账号,分支:

点击【Add SCM】-【Git】,配置依赖项目(另一个仓库):

【注意】:如果你的主项目与依赖项目不在同一级目录,请设置依赖项目的目录位置(【Additional Behaviours】-【新增】-【Check out to a sub-directory】)。本案例是依赖项目在主项目目录下,而主项目在WORKSPACE下,故此处配置为{WORKSPACE}下,故此处配置为WORKSPACE下,故此处配置为{WORKSPACE}/依赖项目文件夹
3.3:构建
点击【增加构建步骤】-【Invoke Gradle script】:

如果在打包完成后,需要执行shell脚本,可以点击【增加构建步骤】-【执行shell】,在编辑框中输入shell。
如在【执行shell】中对app进行签名,签名后,对apk打包压缩:
#!/bin/bash
echo ">>> SUCCESS!"
path="${WORKSPACE}/app/build/outputs/apk/"
cd $path
jarsigner -verbose -keystore /com.booktest.jks -storepass bookpwd -signedjar ./TESTCampaign_1/debug/TEST_1_signed.apk ./TESTCampaign_1/debug/TEST_1.apk booktest
zip -r ./${JOB_NAME}.zip ./
rm -rf /${JOB_NAME}.zip
mv ./${JOB_NAME}.zip /
echo "Downloads:${JENKINS_URL}${JOB_NAME}.zip"
四:执行构建
在首页,点击进入视图中的某个项目后,点击左侧菜单【Build with Parameters】-【开始构建】,等待构建结果。
注意:如果因为警告信息构建失败,可以配置gradle忽略警告,具体配置:
在各个build.gradle文件的android配置中加入如下信息:
android {
...
lintOptions {
abortOnError false // true by default
checkAllWarnings false
checkReleaseBuilds false
ignoreWarnings true // false by default
quiet true // false by default
}
...
}
本文详细介绍如何使用Jenkins结合MultipleSCMs与MavenIntegration插件,实现依赖多个Git仓库的Android项目自动化构建流程,包括插件安装、任务配置、Gradle脚本执行及Shell命令打包压缩。

3093

被折叠的 条评论
为什么被折叠?



