Android Jenkins Windows环境自动化打包(一)

前言

工作中,时不时打包要换个地址,或者换个测试地址,或者其他什么的。这些东西每次都要打开项目,找到文件,复制一行,注释上一行,然后改地址什么的,然后再加上注释。一个整洁的放url的类,就被各种注释弄得眼花缭乱。那么需求就来了,能不能给个地址就按要求打对应的包,而最小的去改动我们的代码呢,并且按照对应的对应的分支去打包呢。Jenkins基本能完全的符合我们所需,所以尝试用下Jenkins。

一、Jenkins

网上很多部署jenkins的教程,我这里就简要叙述一下吧。

本人嫌麻烦,直接用的Window版本。因为用这个可以直接省去部署tomcat的步骤,直接当一个windows服务来用。

安装过程,有点不太记得,貌似应该就是下一步下一步。安装好之后,http://locahost:8080就可以打开你Jenkins了。首次运行会让你输入一个密码,按照页面上提示的路径就可以找到。然后会让你安装默认插件。本文中涉及到的插件有些应该不会再默认插件里面,大家可以去这里下载http://mirror.xmission.com/jenkins/plugins/。

装插件这一步可能需要点时间,视各位网络而定,然后就是配置环境变量Android打包需要的环境变量了。在页面左侧有个齿轮图标(),然后点击设置JDK、Git、Gradle。


然后设置Android打包需要的全局属性,在勾上

到此,打包所需的简单的Jenkins设置就弄好了。

二、配置gradle及任务。

Jenkins配置完成并不能满足我们的需求,我们还需要做一些事情以满足我们的打包需求。

1、Jenkins创建任务(Job)

回到Jenkins首页,点击新建Item,你可以直接选择Freestyle project直接创建任务,也可以创建一个文件夹然后在这个文件夹里面新建Item。
创建好任务之后,就会来到配置界面。

2、配置参数

首先我们要在General里勾选上This project is parameterized。然后开始配置我们所需的参数。
为了开发调试方便,我们在这里可以添加配置一个IS_JENKINS使得构建的时候区分是Jenkins打包还是Android Studio打包。
点击添加参数,选择Choice Parameter,名称填上IS_JENKINS,选项里面写true。

然后在我们的项目里打开gradle.properties。

#这里变量名称要和Jenkins里的一致
IS_JENKINS=false  

然后我们开始配置构建类型,通常就是debug和release。这里我们依然使用Choice Parameter,参数名填上,这里我们用BUILD_TYPE吧,然后选项里,我们填上debug和release,这里注意换行。


以上基本Jenkins部分最基本的设置就弄好了。然后是代码拉取。因为我用的是git,所以这里以git为例。
我们来到源码管理这里,选择Git,填上我们的git地址,然后添加Credentials。选择添加后的Credentials。

然后来到 构建 这一步,点击增加构建步骤,选择Invoke Gradle Script,然后你可以选择前面配置好的Gradle,也可以勾选Use Gradle Wrapper,然后在Tasks里面填上

clean
--no-daemon
assemble${BUILD_TYPE}
--stacktrace
--debug

这里的${BUILD_TYPE}要和前面配置的BUILD_TYPE名称要一直,否则会报错。
然后勾上Pass all job parameters as Project properties。点击保存,我们基本的配置就完成了。
此时就可以打包了么。还不行,我们还得在我们项目的build.gradle里面加上我们签名才行,否则会报错找不到keystore。
怎么添加签名,请自行百度吧。此处就不多说了。
签名添加完成后,我们就开来到Jenkins任务页面,点击Build with Parameters。你会看到我们添加好的参数。

开始构建。此时可以完成最简单的自动化打包了。
打好的包就在Jenkins安装目录下的workspace文件夹下面。

你可能感兴趣的:(Android Jenkins Windows环境自动化打包(一))