Android Jenkins+Git+Gradle持续集成 (2)

Android Jenkins+Git+Gradle持续集成

 

给自己的项目起个名字,然后选择构建一个自由风格的软件项目,点击OK按钮,进入项目的配置界面。

2.项目配置
直接选择源码管理tab或者向下滚动找到源码管理,如图;

Android Jenkins+Git+Gradle持续集成

选中Git选项,会出现上图的界面,配置Git项目的URL,我测试用的是Github项目,并且传输协议选择的是HTTP,需要选择Credentials选项,选择通行证,第一次需要点击Add添加通行证,如图:

Android Jenkins+Git+Gradle持续集成

Kind种类选择默认的Username with password,然后在Username和Pasword处分别输入Git账户的用户名和密码,然后滚动到下方点击Add,然后在Credentials中选择我们刚才添加的通行证。
接着滚动到构建Tab,点击添加构建步骤,然后选择Invoke Gradle script,如图:

Android Jenkins+Git+Gradle持续集成

然后配置构建时的Gradle版本,和需要执行的任务,如图:

Android Jenkins+Git+Gradle持续集成

这个Tasks是先clean工程,然后打包所有渠道的Release版本,这是Gradle的命令,不多说了。然后点击保存按钮,马上就可以打包了。
3.开始构建
点击左侧菜单栏的立即构建,开始构建项目,这时候Build History版块会出现构建任务列表,点击进入可以查看构建详情页

又很多菜单可以选择来查看状态,点击Console Output来查看构建输出的日志,所有的信息都会显示,日志最后输出Finished: SUCCESS即构建成功。

成功之后,返回项目地址就可以点击工作空间,在app的build目录下面查看apk生成情况。

以上就是Jenkins打包最简单的配置,我知道大家想要的不止这些,更精彩的还在后面。

定制想要的功能
1.参数化构建
在我们打包的时候,我们大多时候不想只是简简单单打一个版本的包,我们想通过配置一下参数,来满足一些需求,比如根据渠道打不同版本的包、根据Tag打不同的包等,下面就来说一下Jenkins参数化构建。

在我们项目中需要配置的选项有:版本(Release 或 Debug),版本号,渠道包,根据Tag打包。另外我们还需要加上打包途径,AS打包还是Jenkins打的包,还要加一个时间戳。所有的参数列出来了,下面就配置Jenkins的参数化构建吧~

在Jenkins项目主页选择配置,进入配置页,在General tab将参数化构建过程选中,如图:

Android Jenkins+Git+Gradle持续集成

接下来就可以添加参数了,下面我先列出参数表格:

参数名 参数类型 参数值列表
BUILD_TYPE Choice Release or Debug
IS_JENKINS Choice true
PRODUCT_FLAVORS Choice Xiaomi 、Wandoujia等
BUILD_TIME Dynamic Parameter 2016-12-21-11-11
APP_VERSION Choice 1.0.0、1.0.1等
GIT_TAG Git Parameter tag1.0.0等
下面直接放我的配置截图:

Android Jenkins+Git+Gradle持续集成

Android Jenkins+Git+Gradle持续集成

配置完参数还不算完,我们要在下方构建时候引用,首先找到构建标签处,将Tasks属性值修改为:
clean assemble${PRODUCT_FLAVORS}${BUILD_TYPE} --stacktrace --debug
其中${PRODUCT_FLAVORS}和&{BUILD_TYPE}分别对应上面的参数名。配置如图:

Android Jenkins+Git+Gradle持续集成

看了图大家肯定留意到了红色框内的选项而且很好奇吧,这个选项是APP_VERSION、IS_JENKINS、BUILD_TIME需要用到的,因为这三个参数需要注入到Android项目中的配置一样,而红色框中的这个选项可以帮我们侵入到gradle.properties文件中替换值,并且build.gradle文件能够直接引用gradle.properties文件中的属性,所以起到了侵入的效果。下面分别是我的gradle.properties和主项目的build.gradle文件全代码:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpjgxw.html