这应该是最全的Jenkins Android自动打包构建教程
环境搭建
- JDK下载与配置环境变量
- SDK下载与配置环境变量
- GIT下载与配置环境变量
- Jenkins下载与安装。
本篇着重讲如何配置Jenkins,前三个配置就不一一赘述,详情请百度。
搭建步骤
检查环境变量是否都配置正确。
1.环境变量检查
win运行cmd
,输入
java -version
查看是否输出java version,如果输出成功则证明配置JDK正确。
win运行cmd
,输入
adb start-server
查看是否成功启动adb server,如果成功则证明SDK配成功
win运行cmd
,输入
git
如果出现git usage说明则证明配置成功
-
解压工具包,按照向导安装Jenkins。安装向导推荐的插件。插件安装完在已安装的列表中查看是否已经安装了Android Lint Plugin,Gradle Plugin,
Git plugin插件。 -
配置Jenkins的全局工具配置
- 进入jenkin首页,如下图,点击系系统管理。

找到全局工具配置

- 配置JDK

- git配置

- gradle配置

注意:此处配置的gradle版本必须与所构建的项目一致。另外路径不能过长,否则后面编译会导致AAPT的错误(建议将对应版本gradle移动到某个盘的根目录中,或者直接使用项目自带的gradle在编译时进行下载)。
- 配置全局的SDK路径如下图
左边找到系统管理,然后点击下图所示的系统设置

找到环境变量配置,添加Android Sdk的配置,==路径需要改为自己的SDK路径==

环境变量到这里就配置完毕了。
新建无参数任务
-
新建任务
新建任务.png
-
添加描述,点击高级设置配置工作区
配置工作区.png
-
配置代码git仓库

-
配置构建
开始构建.png
配置GradleWrapper

配置root build script 路径

- 点击保存应用。
- 点击立即构建,就可以完成自动打包的任务。
新建带参数任务
- 和无参任务一样先创建一个自由风格的构建项目
- 选择参数化构建过程

- 构建参数,与build.gradle中获取的方式。

如上图,以选项参数以及文本参数为例。在Jenkins中定义的参数可以使用"${parameterName}",例如Jenkins选择分支时就可以使用此参数:

在Andrid项目中如何获取对应的参数呢?因为Jenkins打包时会把参数侵入到项目中,在app包名下的build.gradle中可以这样获取上述的JAR_VERSION_NAME
:
def defaultName = "2.04.11"
def jarVersionName = project.hasProperty('JAR_VERSION_NAME') ? JAR_VERSION_NAME : defaultName
注意:boolean参数使用选项参数来代替,在gradle3.3版本中运行时此参数会获取不准确。
def needNewsSdk = project.hasProperty('NEED_NEWS_SDK') ? NEED_NEWS_SDK : "false"
boolean isNeedNewsSdk = needNewsSdk == "true"
- 其它过程同无参数任务一致,在执行Gradle脚本时需要将参数带到命令中。
clean
assembleRelease -PJAR_VERSION_NAME=${JAR_VERSION_NAME} }
注意:参数名使用-P
来开头,P
为大写
构建完后构建其它项目,且带有参数。
- 需要安装插件
Parameterized Trigger plugin
,在系统管理-插件管理-可安装选项里面检索此插件安装并重启Jenkins(重启方法在Jenkins后面地址后面加上/restart
) - 在构建或者构建后操作选项里面(因Jenkins版本不同,此插件的位置也不同)找到:

填入要构建的下个项目名,并添加参数,可以选择当前任务的参数如上图。
其它
Jenkins工具包下载:
点击下载
提取密码: 3zr5