之前使用Jenkins一般都是在外网上使用,问题一般都不是很大,但这次内容的却是另一番滋味,因此总结了所遇到的一些问题!
一、离线安装Jenkins插件
对于Jenkins插件外网使用时直接下载更新即可,但内网使用却是麻烦的多。
1.下载插件包(http://updates.jenkins-ci.org/download/plugins/
),本地上传(系统管理–管理插件–高级–上传插件),这种方式较为麻烦,离线包之间依赖较多,需不断的上传验证。
2.外网电脑安装Jenkins并安装所需要的插件(系统管理–管理插件–可选插件–勾选安装),拷贝所有插件到内网电脑上对应的目录,重启Jenkins。这也是这次我所使用的方法,感觉比下载离线包再上传安装方便的多。
对于Jenkins重启,我这里是直接通过重启Jenkins服务。
二、构建失败
1.mergeDebugResources FAILED
解决方法:
(1)添加系统变量GRADLE_USER_HOME;
(2)Jenkins项目gradle配置时勾选Force GRADLE_USER_HOME to use workspace
。
2.lint FAILED
解决方法:提示已很明显,在每个Module的build.gradle文件中配置。
lintOptions {
abortOnError false
}
3.mockableAndroidJar FAILED
这里出现的原因主要是修改了android.jar包里面的内容所导致的,解决方法:在项目最外层build.gradle文件中设置
allprojects {
gradle.taskGraph.whenReady {
tasks.each {task ->
if(task.name == 'mockableAndroidJar'){
task.enabled = false
}
}
}
}
4.Failed to notify project evaluation listener
我这里出现原因是部分module指定了jdk版本,部分没有,所以解决方法即在每个module中均指定jdk版本。
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
三、指定Module编译
当项目中存在多个module(多个应用)时,指定module进行构建(在项目配置gradle内设置)。
总结:这里只是对这次设置过程中遇到的一些坑做一个简单记录,还有其他一些关键点可以自行查询尝试(如:参数化构建、邮件发送、权限管理等)。