建立Jenkins项目
1. “新增作业”->填写作业名称->选择“建置 Maven 2 或 3 專案”->OK。新增成功后会进入“組態設定”,暂时先保留默认值,稍后再进行设定。
2. 按一下“马上建置”,会显示“已排入建置”,然后在“建置歷程”会见到#1的链接,点入该链接并选择“終端機輸出”,这时会见到一个失败的构建记录。当然会失败,因为我们还未为项目加入代码和pom.xml,之所以要进行一次构建,是让系统为我们生成项目目录,目录路径是<Jenkins_dir>/workspace/<project_name> 。
3. 上传项目依赖的包,执行以下命令
mvn install:install-file -Dfile=file.jar -DgroupId=group.id -DartifactId=artifact-id-Dversion=1.0.0 -Dpackaging=jar
DgroupId和DartifactId构成了该jar包在pom.xml的坐标,项目就是依靠这两个属性定位。可以自己起名,如果用自己起的名字,在pom.xml的依赖中就要用自己所以的名字。 Dfile表示需要上传的jar包的绝对路径,文件会上传到Maven的默认仓库位置。
4. 将android 项目代码和pom.xml加入到项目目录里,然后在按一下“马上建置”,如果代码和pom.xml都正确的话,项目应该会构建成功。
5. 现在再回到“組態設定”界面进行设定
因为之前安装了Git Plugin,所以“原始碼管理”中多了一项Git,填入正确的Repository URL,Credentials 加入用户名和密码。新增Additional Behaviours,加入check out to specific local branch。
“建置觸發程序”可以选择“定期建置”或“輪詢 SCM”,“定期建置”是按规定的时间间隔进行构建,“輪詢 SCM”是按规定的时间间隔轮询Git进行构建。
“新增建置前步骤”可以在建置前执行一些命令。
“Root POM”指定pom.xml的位置,“Goal 及選項”填写构建时mvn 命令和参数,例如mvn clean package -P dev surefire-report:report,surefire-report:report 可以生成surefire report,但此report的html没有css,比较难看。可以先运行一次mvn site生成maven surefire report的html和css,然后保存下来,以后每次构建完成后再执行命令复制到report中。
“新增建置后步骤”可以在建置后执行一些命令。
6. “新增建置后动作”可以在建置后执行一些操作,如果安装了Email Extension Plugin的话,可以在构建完成后发出通知邮件。
“新增建置后动作”->“可编式电子邮件通知”->advanced setting->“add trigger”可以增加触发邮件的条件,通知邮件内容中可以使用Content Token。
通知邮件例子:
本郵件由程序自動發送,請勿直接回覆,謝謝<br/><hr/> 構建編號:$BUILD_NUMBER<br/><hr/> 觸發原因:${CAUSE}<br/><hr/> 單元測試報告:${PROJECT_URL}ws/target/site/surefire-report.html<br/><hr/> ${JELLY_SCRIPT,template="html"}<br/><hr/>
${FILE, path="./file.txt"}
更多可用token
${BUILD_LOG, maxLines, escapeHtml} -显示最终构建日志。
${BUILD_LOG_REGEX, regex, linesBefore, linesAfter, maxMatches,showTruncatedLines, substText, escapeHtml, matchedLineHtmlStyle} -按正则表达式匹配显示构建日志的行数。
${BUILD_NUMBER} -显示当前构建的编号。
${BUILD_STATUS} -显示当前构建的状态(失败、成功等等)
${BUILD_URL} -显示当前构建的URL地址。
${CHANGES, showPaths, format, pathFormat} -显示上一次构建之后的变化。
${CHANGES_SINCE_LAST_SUCCESS, reverse, format, showPaths,changesFormat, pathFormat} -显示上一次成功构建之后的变化。
${CHANGES_SINCE_LAST_UNSTABLE, reverse, format, showPaths,changesFormat, pathFormat} -显示显示上一次不稳固或者成功的构建之后的变化。
${ENV, var} – 显示一个环境变量。
${FAILED_TESTS} -如果有失败的测试,显示这些失败的单元测试信息。
${JENKINS_URL} -显示Jenkins服务器的地址。(你能在“系统配置”页改变它)。
${HUDSON_URL} -不推荐,请使用$JENKINS_URL
${PROJECT_NAME} -显示项目的名称。
${PROJECT_URL} -显示项目的URL。
${SVN_REVISION} -显示SVN的版本号。
${CAUSE} -显示谁、通过什么渠道触发这次构建。
${JELLY_SCRIPT, template} -从一个Jelly脚本模板中自定义消息内容。有两种模板可供配置:HTML和TEXT。你可以在$JENKINS_HOME/email-templates下自定义替换它。当使用自动义模板时,”template”参数的名称不包含“.jelly”。
${FILE, path} -包含一个指定文件的内容
${TEST_COUNTS, var} -显示测试的数量。
参考资料:
【1】 http://www.juvenxu.com/2011/05/18/hudson-email-ext/
使用Jenkins进行android项目的自动构建(3),布布扣,bubuko.com
原文:http://www.cnblogs.com/pasco/p/3738517.html