OS:Win server 2012
Jenkins:ver. 2.190.2
Gradle:5.4.1
Global Tool Configuration设置
Manage Jenkins选项中找到Global Tool Configuration进入。
JDK配置
Git配置
Gradle配置,这里安装了两个版本,可根据随时安装新版本。
Configure System 设置
Manage Jenkins选项中找到Configure System 进入。
Android SDK 配置
注:这里的键与本机环境变量内的Android SDK目录的键一致。前提本地Android SDK已安装配置完成,详情可参考:https://blog.51cto.com/10874766/2506938
邮件配置
邮件发送配置
邮件通知测试
进入项目。
参数化构建设置
配置源码
设置Gitlab代码仓库地址及构建的分支
构建
选择“增加构建步骤” -> invoke gradle script
app:clean
app:assemble${PRODUCT_FLAVORS}${BUILD_TYPE} --stacktrace
gradle常用命令
gradle tasks --all:查看所有构建任务,包括缓存任务;
gradle clean:清除工程目录下的build文件夹;
gradle build: 检查依赖并编译打包,debug、release环境包;
gradle assemble:编译指定的包,如Debug包(gradle assembleDebug)、Release包(gradle assembleRelease);
--stacktrace:多输出log信息;
构建后触发邮件通知
Editable Email Notification中 add Triggers 选择Always。
邮件Content内容如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title>
</head>
<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"
offset="0">
<table width="95%" cellpadding="0" cellspacing="0" style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
<tr>
本邮件由系统自动发出,无需回复!<br/>
各位同事,以下为Android移动端${PROJECT_NAME }项目构建信息</br>
<td><font color="#CC0000">构建结果 - ${BUILD_STATUS}</font></td>
</tr>
<tr>
<td><br />
<b><font color="#0B610B">构建信息</font></b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td>
<ul>
<li>项目名称 : ${PROJECT_NAME}</li>
<li>构建编号 : 第${BUILD_NUMBER}次构建</li>
<li>触发原因: ${CAUSE}</li>
<li>构建状态: ${BUILD_STATUS}</li>
<li>构建日志: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li>
<li>构建 Url : <a href="${BUILD_URL}">${BUILD_URL}</a></li>
<li>工作目录 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>
<li>项目 Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
</ul>
<h4><font color="#0B610B">失败用例</font></h4>
<hr size="2" width="100%" />
$FAILED_TESTS<br/>
<h4><font color="#0B610B">最近提交(#$SVN_REVISION)</font></h4>
<hr size="2" width="100%" />
<ul>
${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="<li>%d [%a] %m</li>"}
</ul>
详细提交: <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a><br/>
</td>
</tr>
</table>
</body>
</html>
最终效果如下图: