jenkins环境
最近项目上遇到一些发包的问题,都是因为修改配置参数出错导致的,因此我想有没有一个可以自动打包发布配置参数的系统,然后发现jenkins正适合做这些。
首先配置jenkins环境,下载 jenkins.war
不想去官网的可以来百度云 链接:http://pan.baidu.com/s/1cASm1w 密码:xods
安装启动jenkins,进入jenkins.war所在目录, win cmd命令行输入
java -jar jenkins.war
之后的每次启动都需要用这个命令
安装启动后,首次使用需要新建用户,这些都做完了在浏览器输入http://localhost:8080/manage
这里我们点击【系统设置】->【Global Tool Configuration】设置jdk,gradle所在位置,下面gradle编译的时候会用到。直接上图了。
然后是gradle 这里注意如果你的gradle是自动更新升级的,最近的gradle文件在C:\Users\ [您计算机名] .gradle\wrapper\dists\
这里点击新建可以新建一个job,然后输入job名
上面的步骤做完后,在jenkins首页你就会看到你刚刚创建的项目
点击项目名称,配置项目一些详细参数
构建配置
- general->配置项目名称和项目描述,点击【高级】设置工作空间地址
- 源码管理->配置源码仓库,选择none则使用本地源码
- 构建->增加构建步骤->Invoke Gradle script
然后选择配置gradle
- Tasks命令
//生成debug包
clean assembleDebug --stacktrace --debug
//生成Release包
clean assembleRelease --stacktrace --debug
- 构建后操作
可以增加E-mail Notification,这样在构建完后会有邮件提醒,Recipients填写邮件通知地址,多个地址用‘,’分隔
在这之前需要现在【系统管理】->【系统设置】中配置,
Jenkins Location
系统管理员邮件地址: 添写发件者邮箱
下面是163邮箱的配置
参数化构建配置
- android studio 配置
gradle.properties文件中配置
JNI_DIRS=debugJniDirs
NEED_TEST_FLAVORS=true
build.gradle文件中做相应的处理,我们项目中是为了实现不同环境使用不同的so文件。
sourceSets {
main.java.srcDirs = rootProject.ext.javaSrcDirs
if ('debugJniDirs' == JNI_DIRS) { //测试使用的so文件
main.jniLibs.srcDirs = rootProject.ext.jniLibsSrcDirsDebug
} else { //生产使用的so文件
main.jniLibs.srcDirs = rootProject.ext.jniLibsSrcDirsRelease
}
}
添加参数->Choice Parameter
这里的JNI_DIRS需要与gradle.properties中的参数完全一致。在编译时变量会替换为Choices所选的字符串
这里的ENVIRONMENT是task命令参数
需要在下面的Tasks参数做一些修改
这样的配置会根据选择的参数生成release包和debug包
开始构建
做出你的选择,点击开始构建
然后看左下角的点,如果是蓝色恭喜你构建成功,如果是红色那么构建失败
如果出现报错,点击报错的记录,点击【Console Output】查看报错日志