持续集成(CI)工具------Hudson/Jenkins(Continuous Integration)安装与配置具体解释

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了持续集成(CI)工具------Hudson/Jenkins(Continuous Integration)安装与配置具体解释相关的知识,希望对你有一定的参考价值。

本文同意转载。但请标明出处:http://blog.csdn.net/wanghantong/article/40985653/, 版权全部

文章概述:

一、 描写叙述了持续集成工具Hudson的安装与配置

二、 描写叙述了Git 、Maven环境的安装与配置

三、 描写叙述了扩展邮件通知及其配置方法

四、 描写叙述了jira的配置

一、Hudson简单介绍

Hudson是Jenkins的前身,是基于Java开发的一种持续集成工具。用于监控持续的软件版本号公布/測试项目

下载地址:http://eclipse.org/downloads/download.php?file=/hudson/war/hudson-3.2.1.war

安装方式:仅仅要将下载的hudson-3.2.1.war部署到Web容器(Servlet容器)中。并且不须要数据库的支持

存放文件夹:hudson须要一定的硬盘空间来运行编译和保存数据,默认的存储地址是:~/.jenkins   OR ~/.hudson

改动存储地址:在启动servlet容器之前配置环境变量"JENKINS_HOME"其值是新的存储地址

执行方式:我们将下载的war包解压缩。在其依赖的libs目录中我们发现jetty容器,參见下图!

技术分享

由此可见,我们直接执行Hudson就可以:进入到hudson-3.2.1.war所在的文件夹下,执行

java -jar hudson-3.2.1.war --httpPort=8765

注意--   是两个- 。httpPort=8765  Port要大写= 左右没有空格,8765为执行的port号。任意指定

成功启动后,我们会看到:

技术分享

訪问方式:http://localhost:8765/

假设訪问失败,请依据上述的注意进行查找改错。普通情况下都是这些小错误引起

Hudson配置:进入http://localhost:8765/manage,进行系统的相关配置

可配置项:

1.系统设置:http://localhost:8765/configure

基于Java的项目:

1.1 首先安装JDK,配置JAVA_HOME

这里建议大家自己手动安装JDK,然后进行路径配置。不推荐使用Hudson提供的   自己主动安装 选项,这里能够配置多个版本号的JDK

技术分享


1.2 安装Git,配置Git环境

Git下载地址:http://git-scm.com/download/win

在Windows下,Git为.exe可运行文件,运行安装,并配置环境变量

在Hudson中进行配置Git,Hudson也支持多个版本号的Git配置

技术分享

1.3 下载安装配置Maven

Maven下载地址:http://maven.apache.org/download.cgi

建议直接下载.zip格式的就可以,然后直接解压缩安装。并配置Maven环境变量

技术分享


1.4 配置extended email notification 扩展的邮件通知

技术分享


邮件表达式具体解释:
${BUILD_LOG, maxLines, escapeHtml} -显示终于构建日志。
maxLines  显示该日志最多显示的行数,默认250行。
escapeHtml -假设为true。格式化html。默认false
${BUILD_LOG_REGEX, regex, linesBefore, linesAfter, maxMatches, showTruncatedLines, substText, escapeHtml, matchedLineHtmlStyle} -按正則表達式匹配显示构建日志的行数。 
匹配符合该正則表達式的行数。參阅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, showPaths, format, pathFormat} -显示上一次构建之后的变化。
showPaths  假设为 true,显示提交改动后的地址。默认false
format  遍历提交信息。一个包括%X的字符串,当中%a表示作者,%d表示日期。%m表示消息,%p表示路径,%r表示版本号。注意。并非全部的版本号系统都支持%d%r。假设指定showPaths将被忽略。

默认“[%a] %m\n”
pathFormat -一个包括“%p”的字符串。用来标示怎么打印字符串。


${CHANGES_SINCE_LAST_SUCCESS, reverse, format, showPaths, changesFormat, pathFormat} -显示上一次成功构建之后的变化。


reverse -在顶部标示新近的构建。

默认false
format -遍历构建信息,一个包括%X的字符串,当中%c为全部的改变。%n为构建编号。默认”Changes for Build #%n\n%c\n”


showPaths, changesFormat, pathFormat  分别定义如${CHANGES}showPathsformatpathFormat參数。


${CHANGES_SINCE_LAST_UNSTABLE, reverse, format, showPaths, changesFormat, pathFormat} -显示显示上一次不稳固或者成功的构建之后的变化。
reverse -在顶部标示新近的构建。默认false
format -遍历构建信息,一个包括%X的字符串,当中%c为全部的改变。%n为构建编号。默认”Changes for Build #%n\n%c\n”
showPaths, changesFormat, pathFormat -分别定义如${CHANGES}showPathsformatpathFormat參数。
${ENV, var}  显示一个环境变量。
var – 显示该环境变量的名称。假设为空,显示全部。默觉得空。
${FAILED_TESTS} -假设有失败的測试。显示这些失败的单元測试信息。
${JENKINS_URL} -显示Jenkinsserver的地址。(你能在系统配置页改变它)
${HUDSON_URL} -不推荐,请使用$JENKINS_URL
${PROJECT_NAME} -显示项目的名称。
${PROJECT_URL} -显示项目的URL
${SVN_REVISION} -显示SVN的版本。
${CAUSE} -显示谁、通过什么渠道触发这次构建。
${JELLY_SCRIPT, template} -从一个Jelly脚本模板中自己定义消息内容。

有两种模板可供配置:HTMLTEXT。你能够在$JENKINS_HOME/email-templates下自己定义替换它。当使用自己主动义模板时,”template”參数的名称不包括“.jelly”
template -模板名称,默认”html”


${FILE, path} -包括一个指定文件的内容
path -文件路径。注意,是工作区文件夹的相对路径。
${TEST_COUNTS, var} -显示測试的数量。
var – 默认“total”

  • total -全部測试的数量。

  • fail -失败測试的数量。
skip -跳过測试的数量。

1.5 Jira配置

这里仅仅简述在Hudson中怎样配置Jira,关于Jira的具体安装与配置參见博客Jira配置具体解释一节

技术分享

1.6 其余配置

Hudson还支持SVN、Ant、Shell,这里不具体概述了,上述的配置是作者眼下在用的配置




























































以上是关于持续集成(CI)工具------Hudson/Jenkins(Continuous Integration)安装与配置具体解释的主要内容,如果未能解决你的问题,请参考以下文章

敏捷,持续集成/持续交付, DevOps 三者的区别

持续集成(CI)工具------Hudson/Jenkins(Continuous Integration)安装与配置具体解释

GitHub 十大 CI 工具

持续集成指南:GitLab 的 CI/CD 工具配置与使用

CI-持续集成

持续集成CI&CD之配置管理最佳实践