这应该是最全的Jenkins Android自动打包构建教程

点击上方“程序员大咖”,选择“置顶公众号”

关键时刻,第一时间送达!640?640?wx_fmt=gif


来源:安卓巴士Android开发者门户

http://www.apkbus.com/blog-302849-78470.html

程序员大咖整理发布,转载请联系作者获得授权

环境搭建

  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首页,如下图,点击系系统管理。

640?wx_fmt=png
Jenkins首页.png

找到全局工具配置

640?wx_fmt=png
全局工具.png
  1. 配置JDK

640?wx_fmt=png
JDK配置.png
  1. git配置

640?wx_fmt=png
git配置.png
  1. gradle配置

640?wx_fmt=png
git配置.png

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

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

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

640?wx_fmt=png
系统设置.png

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

640?wx_fmt=png
Android Sdk配置.png


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


新建无参数任务

  1. 新建任务

    640?wx_fmt=png
    新建任务.png
  2. 添加描述,点击高级设置配置工作区

    640?wx_fmt=png
    配置工作区.png
  3. 配置代码git仓库

640?wx_fmt=png
配置代码git仓库.png
  1. 配置构建

    640?wx_fmt=png
    开始构建.png

配置GradleWrapper

640?wx_fmt=png
构建选择gradle配置wrap路径执行命令.png

配置root build script 路径

640?wx_fmt=png
配置build的路径.png
  1. 点击保存应用。

  2. 点击立即构建,就可以完成自动打包的任务。

新建带参数任务

  1. 和无参任务一样先创建一个自由风格的构建项目

  2. 选择参数化构建过程

640?wx_fmt=png
参数化构建.png
  1. 构建参数,与build.gradle中获取的方式。

640?wx_fmt=png
参数配置.png

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

640?wx_fmt=png
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版本不同,此插件的位置也不同)找到:

640?wx_fmt=png
构建其它项目.png

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

其它

Jenkins工具包下载:

https://pan.baidu.com/s/1A-ZtI7ZOCUc6-UlztbbbpQ

提取密码:3zr5

640?wx_fmt=gif640?【点击成为源码大神】


▼点击「阅读原文」进入程序员商城

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值