使用Jenkins进行android项目的自动构建(3)

建立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, maxLinesescapeHtml}
-
显示最终构建日志。

  • maxLines – 显示该日志最多显示的行数,默认250行。

  • escapeHtml -如果为true,格式化HTML。默认false。

${BUILD_LOG_REGEX, regexlinesBeforelinesAftermaxMatches,showTruncatedLinessubstTextescapeHtmlmatchedLineHtmlStyle}
-
按正则表达式匹配显示构建日志的行数。

  • 匹配符合该正则表达式的行数。参阅java.util.regex.Pattern,默认“(?i)\b(error|exception|fatal|fail(ed|ure)|un(defined|resolved))\b”。

  • linesBefore -包含在匹配行之前的行编号。行数会与当前的另一个行匹配或者linesAfter重叠,默认0

  • linesAfter -包含在匹配行之后的行编号。行数会与当前的另一个行匹配或者linesBefore重叠,默认0

  • maxMatches -匹配的最大数量,如果为0,则包含所有匹配。默认为0。

  • showTruncatedLines -如果为true,包含[...truncated ###
    lines...]行。默认为true。

  • substText -如果非空,把这部分文字插入该邮件,而不是整行。默认为空。

  • escapeHtml -如果为true,格式化HTML。默认false。

  • matchedLineHtmlStyle -如果非空,输出HTML。匹配的行数将变为<b
    style=”your-style-value”> html escaped matched line </b>格式。默认为空。

${BUILD_NUMBER} -显示当前构建的编号。

${BUILD_STATUS}
-
显示当前构建的状态(失败、成功等等)

${BUILD_URL} -显示当前构建的URL地址。

${CHANGES, showPathsformatpathFormat}
-
显示上一次构建之后的变化。

  • showPaths – 如果为 true,显示提交修改后的地址。默认false。

  • format –
    遍历提交信息,一个包含%X的字符串,其中%a表示作者,%d表示日期,%m表示消息,%p表示路径,%r表示版本。注意,并不是所有的版本系统都支持%d和%r。如果指定showPaths将被忽略。默认“[%a]
    %m\n”。

  • pathFormat -一个包含“%p”的字符串,用来标示怎么打印字符串。

${CHANGES_SINCE_LAST_SUCCESS, reverseformatshowPaths,changesFormatpathFormat}
-
显示上一次成功构建之后的变化。

  • reverse -在顶部标示新近的构建。默认false。

  • format -遍历构建信息,一个包含%X的字符串,其中%c为所有的改变,%n为构建编号。默认”Changes for
    Build #%n\n%c\n”。

  • showPathschangesFormatpathFormat –
    分别定义如${CHANGES}的showPathsformatpathFormat参数。

${CHANGES_SINCE_LAST_UNSTABLE, reverseformatshowPaths,changesFormatpathFormat}
-
显示显示上一次不稳固或者成功的构建之后的变化。

  • reverse -在顶部标示新近的构建。默认false。

  • format -遍历构建信息,一个包含%X的字符串,其中%c为所有的改变,%n为构建编号。默认”Changes for
    Build #%n\n%c\n”。

  • showPathschangesFormatpathFormat -分别定义如${CHANGES}的showPathsformatpathFormat参数。

${ENV, var}
– 
显示一个环境变量。

  • 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”。

  • template -模板名称,默认”html”。

${FILE, path}
-
包含一个指定文件的内容

  • path -文件路径,注意,是工作区目录的相对路径。

${TEST_COUNTS, var}
-
显示测试的数量。

  • var – 默认“total”。
    • total -所有测试的数量。

    • fail -失败测试的数量。

    • skip -跳过测试的数量。

参考资料:

【1】 http://www.juvenxu.com/2011/05/18/hudson-email-ext/

使用Jenkins进行android项目的自动构建(3),布布扣,bubuko.com

时间: 2024-08-02 16:33:02

使用Jenkins进行android项目的自动构建(3)的相关文章

使用Jenkins进行android项目的自动构建(4)

加入单元测试 android单元测试很多都是使用Instrumentation进行的,这里讲的是试用JUnit,为什么用JUnit呢?因为使用Instrumentation需要打包apk安装,然后再进行测试,即需要用一个项目去测试另一个项目.我现在想做的单元测试是在打包前进行一些测试验证,所以需要用JUnit.至于使用Instrumentation的单元测试,以后再详述. maven默认的源代码src目录和测试代码test目录的结构是 src/main/java test/java 实际使用中发

使用Jenkins进行android项目的自动构建(1)

环境搭建 1. 下载JDK,安装,并将JDK的安装目录加入到环境变量JAVA_HOME,将JDK的bin目录加入到环境变量PATH. 2. 下载Android SDK,解压,并将SDK的安装目录加入到环境变量ANDROID_HOME,将SDK的tools和platform-tools目录加入到环境变量PATH. 3. 下载Maven,解压,并将Maven的bin目录加入到环境变量PATH. 4. 如果使用Git配合构建,需要下载安装,并将Git的bin目录加入到环境变量PATH. 5. 下载并J

使用Jenkins进行android项目的自动构建(6)

之前已经介绍过使用Maven做构建,在来介绍一下Gralde的自动化构建. 什么是Gralde?官方的解释是 Gradle is an open source build automation system. Gradle can automate the building, testing, publishing, deployment and more of software packages or other types of projects such as generated stat

【转】Jenkins配置Git push后自动构建

[实战]Jenkins配置Git push后自动构建 # 前言   Jenkins 持续构建集成是软件版本迭代的一大利器,对于前端攻城狮来说,本身对服务器的接触就少,也并不愿意去做这个事.Jenkins持续构建省去了繁琐的服务器替换包的过程,同时有历史构建记录和每次构建的变更记录,这为我们回退和检查构建情况提供了便利.   本文假设你已经搭建了一些基础环境,如Git环境,Node环境等.如未处理请自行百度 # Jenkins配置步骤 1. 在Jenkins中进入你要配置自动构建的项目 要设置自动

新版本ADT创建Android项目无法自动生成R文件解决办法

本人使用的是ADT是Version 23.0.2,支持Android 6.0之后的系统环境,最高版本23,在创建Android项目的时候,每次创建项目选择“Compile With”低于6.0版本的时候,都无法自动生成R文件,这个时候MainActivity文件报错,反复点击项目后执行“Clean”后,错误无法解 决,按照之前不生成R文件的办法解决不了,那怎么办呢?先分析错误产生的原因. 案例参考:新版本ADT创建Android项目无法自动生成R文件解决办法 | TeachCourse

用Ant实现Java项目的自动构建和部署

Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等功能.在本文中,主要让读者熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作. 一.             安装与配置 下载地址:http://ant.apache.org/,在本文中下载的是1.7.0版本.解压到某个目录(例如E:\apache-ant-1.7.0),即可使用. 添加系统环境变量:ANT_HOME,该变量指向Ant解压后的根目录,在此为E:\apache-ant-1.7.0. 安装与

用Ant实现Java项目的自动构建和部署【转】

http://www.blogjava.net/amigoxie/archive/2007/11/09/159413.html 原文地址:http://tech.it168.com/j/2007-11-09/200711091344781.shtml        本文请勿转载! Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等功能.在本文中,主要让读者熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作. 一.             安装与配置 下

用Ant实现Java项目的自动构建和部署(转)

Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等功能.在本文中,主要让读者熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作. 一.             安装与配置 下载地址:http://ant.apache.org/,在本文中下载的是1.7.0版本.解压到某个目录(例如E:"apache-ant-1.7.0),即可使用. 添加系统环境变量:ANT_HOME,该变量指向Ant解压后的根目录,在此为E:"apache-ant-1.7.0

Ubuntu系统下使用Jenkins进行项目的自动构建还是项目回滚方法

上面虽然实现了项目的自动部署,但是有时部署失败的时候我们需要回滚到指定版本的构建,这样才能更灵活的进行项目的构建部署.我们可以选择"参数化的构建过程"进行传递不同的参数来选择是进行新的构建还是回滚 如果要在实现回滚,一定要在构建后将,构建完成的文件进行存档,方便以后回滚的时候使用. 如果要在实现回滚,一定要在构建后将,构建完成的文件进行存档,方便以后回滚的时候使用 构建后存档 使用参数化构建过程,让后面的脚步可以根据不同的变量执行不同的操作.添加"Choice"参数