Jenkins 的部署搭建就略过了,自己百度。。
本文只是简略介绍下使用Jenkins + gradle 自动打包jar的一些配置。
1. 登录Jekins 配置网站
2. 新建-->构建一个自由风格的软件项目-->ok,此时就创建了一个项目
3. 项目的配置包括5部分:
3.1 General
此部分是对项目的一些概要信息,自行填写即可
3.2 源码管理
此部分是项目的源码管理,依据实际情况自行选择自己的导入方式,我使用的git,只需输入git的clone地址等信息即可。
3.3 构建触发器
依据实际情况自行选择,我的项目未用到
3.4 构建环境
依据实际情况自行选择,我的项目未用到
3.5 构建
此处是关键部分,选择构建的方式,我的项目使用gradle进行构建的,所以选择 Invoke Gradle plugin。
选择Gradle的版本,可以使用默认安装或自己另行安装的都行。 注意:如果没有安装gradle,可以在插件中进行选择安装,或者自己下载,然后解压到指定路径。
选择Tasks,此处的Task是你的Android 项目在build.gradle里建立的Task。 我的Task的名字是makeJar, 代码如下:
task makeJar(type: proguard.gradle.ProGuardTask, dependsOn: "build") { // 未混淆的jar injars 'build/intermediates/bundles/release/classes.jar' // 混淆后的jar路径 outjars 'libs/Library.jar' // 具体需要keep住的类 configuration 'proguard-rules.pro' }
这个Task很简单,就是使用混淆文件对build得到的jar包进行混淆,输出到libs目录下。 注意:该Task是依赖于build任务的,所以执行该Task会先执行Build。
其实真正执行构建的时候,就是执行了 gradle makeJar 这个命令
为了管理我们的所个版本的jar文件,我们需要将每次输出的jar保存到一个指定位置。这个任务用一个脚本来完成。
‘增加构建步骤’-->Execute shell,输入脚本内容:
mkdir -pv ${WORKSPACE}/builds/$BUILD_NUMBER cp -R /Users/applebar/.jenkins/workspace/Android_SDK/ihealthdevicesdk/libs/* ${WORKSPACE}/builds/$BUILD_NUMBER cp -R /Users/applebar/.jenkins/workspace/Android_SDK/app/libs/* ${WORKSPACE}/builds/$BUILD_NUMBER
内容很简单,就是依据每次的build号生成一个文件夹,把我们需要导出的内容copy到该文件夹下即可。
注:
1. 如果是打包Android App,则不需要配置Tasks,只需在Switches里输入相应的命令即可,然后把apk copy到指定位置即可。
2. 既然是Android项目构建,自然Android SDK是少不了的,自己copy到Jekins服务器上,同时,把项目内的Android SDK目录指定到本地路径即可。
3.6 构建后操作
此处就是构建完成后的一些处理,自行选择,我在此处使用了邮件发送功能。这样,每次构建完成后,相关人员就会收到通知。