持续集成(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为运行的端口号,随意指定

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

访问方式: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}的showPaths、format和pathFormat参数。
${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}的showPaths、format和pathFormat参数。
${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.5 Jira配置

这里只简述在Hudson中如何配置Jira,关于Jira的具体安装与配置参见博客Jira配置详解一节

1.6 其余配置

Hudson还支持SVN、Ant、Shell,这里不详细概述了,上述的配置是作者目前在用的配置

时间: 2024-11-08 18:53:45

持续集成(CI)工具------Hudson/Jenkins(Continuous Integration)安装与配置详解的相关文章

使用yum查看工具lspci所在包并安装的方法(详解)_Linux

摘要:虚拟机安装时一般都采用最小化安装,默认没有lspci工具.一台测试虚拟网卡性能的虚拟机,需要lspci工具来查看网卡的类型.本文描述了在一个虚拟机中安装lspci工具的具体步骤. 由于要测试虚拟机上的不同的虚拟网卡驱动类型的传输效率,所以需要变化虚拟机的虚拟网卡类型,并且利用lspci工具验证是否加载成功. 虚拟机操作系统:CentOS6.0 i386. 启动虚拟机后,键入lspci,系统提示没有这个命令.于是想到先安装这个工具再测试.安装过程需要解决几个问题:安装源?lspci属于哪个包

基于Docker容器的,Jenkins、GitLab构建持续集成CI

** 开发者将代码提交(push)到GitLab后,GitLab通过Hook通知jenkins,jenkins自动从GitLab中获取项目最新的源码进行集成和发布. 基于Docker,创建一个私有GitLab的容器,创建一个jenkins的容器** 1. 构建私有的GitLab容器 https://about.gitlab.com/installation/#centos-7,直接安装gitlab,不借助docker 通过docker-compose的方式安装gitlab,docker-comp

JavaScript测试工具之Karma-Jasmine的安装和使用详解_javascript技巧

1.Karma介绍 Karma是Testacular的新名字,在2012年google开源了Testacular,2013年Testacular改名为Karma.Karma是一个让人感到非常神秘的名字,表示佛教中的缘分,因果报应,比Cassandra这种名字更让人猜不透! Karma是一个基于Node.js的JavaScript测试执行过程管理工具(Test Runner).该工具可用于测试所有主流Web浏览器,也可集成到CI(Continuous integration)工具,也可和其他代码编

[Linux实用工具]Linux监控工具munin的安装和配置

〇.摘要 munin是用于Linux系统(也可以监控windows系统)的监控软件.munin除了可以监控系统的各项数值之外,最大的好处是可以自己编写插件自定义监控需要的数值.整个系统的架构简单明了,操作方便.如果是使用Debian或者Ubuntu安装,安装过程也非常简单.munin除了可以监控结果,也可以设置报警.对于我个人对性能测试的工作来说,是个非常好的工具. 1. 内容 munin整个使用下来,篇幅会有点大,包括展示.自定义插件.这边分成三个部分来说明.本次只讲安装和配置. munin 

Linux下EclipseCDT工程和TFS的持续集成CI实践

在Linux下使用TFS自动构建,需要自动执行连接tfs服务器的操作,命令行文件包TEE-CLC-10.1.0.2011121402.zip,下载地址:http://www.microsoft.com/en-us/download/details.aspx?id=25125 下文是定制TFS的工作流程的方法进行定制 How to Build Linux Code with TFS 2010 Team Build http://www.richard-banks.org/2010/11/how-t

搭建持续集成单元测试平台(Jenkins+Ant+Java+Junit+SVN)

一.环境准备 Jenkins: 到官网下载jenkins.war包:http://jenkins-ci.org/ 安装方法有两种: 把下载下来的jenkins.war包放到文件夹下,如C:\jenkins,然后打开命令行窗口并进到该目录下,执行java -jar jenkens.war命令,当提示:"Jenkins is fully up and running"时,表示启动成功,这时在浏览器窗口输入:http://localhost:8080/ 就可到jenkins的首页. 如果有t

持续集成篇-- SonarQube代码质量管理平台的安装

IP:192.168.4.221 环境:CentOS 6.6.JDK7.MySQL5.1 .SonarQube-4.5.4(LTS) root用户操作 准备工作:已安装JDK7并配置好了环境变量 1 .安装MySQL5.1 (可参考前面SVN管理平台的MySQL安装步骤,如果已安装则无需安装) rpm -qa | grep mysql ## 查看该操作系统上是否已经安装了mysql数据库, 有的话,可以通过 rpm -e 命令 或者 rpm -e --nodeps 命令来卸载掉 yum inst

jenkins 远程构建Android的过程详解_Android

由于企业的需求,需要做一个网站开分享每个版本的Android的app,所以需要使用的工具如下: Jenkins平台,远程编译环境服务器一台,web服务器一台,根据自己的选择,可以搭配自己的资源,废话少说,直奔主题 1. Jenkins的操作 在Jenkins中添加一个节点,设置好远程的工作目录,创建好服务器的标签,然后创建好相关的环境键值对,比如Android_home,Java_home,Gradle_home等,这些都是比较平常的操作,这里就不罗嗦了,值得注意的有两点:第一,java的路径问

linux中sosreport工具安装使用方法详解

sosreport是一个类型于supportconfig 的工具,sosreport是python编写的一个工具,适用于centos(和redhat一样,包名为sos).ubuntu(其下包名为sosreport)等大多数版本的linux .sosreport在github上的托管页面为:https://github.com/sosreport/sos ,而且默认在很多系统的源里都已经集成有.如果使用的是正版redhat,在出现系统问题,寻求官方支持时,官方一般也会通过sosreport将收集的