Jenkins Android自动打包构建教程

环境搭建

  1. JDK下载与配置环境变量
  2. SDK下载与配置环境变量
  3. GIT下载与配置环境变量
  4. Jenkins下载与安装。

本篇着重讲如何配置Jenkins,前三个配置就不一一赘述,详情请百度。

搭建步骤

检查环境变量是否都配置正确。

1.环境变量检查

win运行cmd,输入

java -version

查看是否输出java version,如果输出成功则证明配置JDK正确。

win运行cmd,输入

adb start-server

查看是否成功启动adb server,如果成功则证明SDK配成功

win运行cmd,输入

git

如果出现git usage说明则证明配置成功

  1. 解压工具包,按照向导安装Jenkins。安装向导推荐的插件。插件安装完在已安装的列表中查看是否已经安装了Android Lint Plugin,Gradle Plugin,
    Git plugin插件。

  2. 配置Jenkins的全局工具配置

  • 进入jenkin首页,如下图,点击系系统管理。
Jenkins Android自动打包构建教程_第1张图片
Jenkins首页.png

找到全局工具配置

Jenkins Android自动打包构建教程_第2张图片
全局工具.png
  1. 配置JDK
Jenkins Android自动打包构建教程_第3张图片
JDK配置.png
  1. git配置
Jenkins Android自动打包构建教程_第4张图片
git配置.png
  1. gradle配置
Jenkins Android自动打包构建教程_第5张图片
gradle配置.png

注意:此处配置的gradle版本必须与所构建的项目一致。另外路径不能过长,否则后面编译会导致AAPT的错误(建议将对应版本gradle移动到某个盘的根目录中,或者直接使用项目自带的gradle在编译时进行下载)。

  1. 配置全局的SDK路径如下图

左边找到系统管理,然后点击下图所示的系统设置


系统设置.png

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


Jenkins Android自动打包构建教程_第6张图片
2ECB85DBB34566AF3893ABED04C26365.png

环境变量到这里就配置完毕了。

新建无参数任务

  1. 新建任务


    Jenkins Android自动打包构建教程_第7张图片
    新建任务.png
  2. 添加描述,点击高级设置配置工作区


    Jenkins Android自动打包构建教程_第8张图片
    配置工作区.png
  3. 配置代码git仓库

Jenkins Android自动打包构建教程_第9张图片
配置代码git仓库.png
  1. 配置构建


    Jenkins Android自动打包构建教程_第10张图片
    开始构建.png

配置GradleWrapper

Jenkins Android自动打包构建教程_第11张图片
构建选择gradle配置wrap路径执行命令.png

配置root build script 路径

Jenkins Android自动打包构建教程_第12张图片
配置build的路径.png
  1. 点击保存应用。
  2. 点击立即构建,就可以完成自动打包的任务。

新建带参数任务

  1. 和无参任务一样先创建一个自由风格的构建项目
  2. 选择参数化构建过程
Jenkins Android自动打包构建教程_第13张图片
参数化构建.png
  1. 构建参数,与build.gradle中获取的方式。
Jenkins Android自动打包构建教程_第14张图片
参数配置.png

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

Jenkins Android自动打包构建教程_第15张图片
Jenkins使用参数.png

在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"
  1. 其它过程同无参数任务一致,在执行Gradle脚本时需要将参数带到命令中。
clean
assembleRelease -PJAR_VERSION_NAME=${JAR_VERSION_NAME} }

注意:参数名使用-P来开头,P为大写

构建完后构建其它项目,且带有参数。

  1. 需要安装插件Parameterized Trigger plugin,在系统管理-插件管理-可安装选项里面检索此插件安装并重启Jenkins(重启方法在Jenkins后面地址后面加上/restart
  2. 在构建或者构建后操作选项里面(因Jenkins版本不同,此插件的位置也不同)找到:
Jenkins Android自动打包构建教程_第16张图片
构建其它项目.png

填入要构建的下个项目名,并添加参数,可以选择当前任务的参数如上图。

其它

Jenkins工具包下载:
点击下载

提取密码: 3zr5

你可能感兴趣的:(Jenkins Android自动打包构建教程)