持续集成(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环境变量
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2FuZ2hhbnRvbmc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
1.4 配置extended email notification 扩展的邮件通知
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} -显示Jenkinsserver的地址。(你能在“系统配置”页改变它)。
${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,这里不具体概述了,上述的配置是作者眼下在用的配置
持续集成(CI)工具------Hudson/Jenkins(Continuous Integration)安装与配置具体解释的更多相关文章
- Jenkins+Gitlab搭建持续集成(CI)环境
利用Jenkins+Gitlab搭建持续集成(CI)环境 Permalink: 2013-09-08 22:04:00 by hyhx2008in intern tags: jenkins gitla ...
- 「持续集成实践系列」Jenkins 2.x 搭建CI需要掌握的硬核要点
1. 前言 随着互联网软件行业快速发展,为了抢占市场先机,企业不得不持续提高软件的交付效率.特别是现在国内越来越多企业已经在逐步引入DevOps研发模式的变迁,在这些背景催促之下,对于企业研发团队所需 ...
- 「持续集成实践系列 」Jenkins 2.x 构建CI自动化流水线常见技巧
在上一篇文章中,我们介绍了Jenkins 2.x实现流水线的两种语法,以及在实际工作中该如何选择脚本式语法或声明式语法.原文可查阅:「持续集成实践系列」Jenkins 2.x 搭建CI需要掌握的硬核要 ...
- 持续集成CI
一.CI 和 CD 持续集成是什么? 持续集成(Continuous integration,简称CI)指的是,频繁地(一天多次)将代码集成到主干.让产品可以快速迭代,同时还能保持高质量. 持续交付( ...
- 持续集成环境(Hudson)搭建
持续集成环境(Hudson)搭建 这是在公司写的,公司要求用英文,我也没时间翻译了.还请见谅! Hudson是个非常强大持续集成工具,配合svn,maven,sonar,redmine工具就更加完美了 ...
- 什么是云效持续集成?如何关联Jenkins进行持续集成?
什么是云效持续集成?如何关联Jenkins进行持续集成?云效流水线 Flow是一款企业级.自动化的研发交付流水线, 提供灵活易用的持续集成.持续验证. 持续发布功能,帮助企业高质量.高效率的交付业务. ...
- 基于 Node.js 的轻量「持续集成」工具 CIZE
CIZE 是什么? CIZE 是一个「持续集成」工具,希望能让开发人员更快捷的搭建一个完整.可靠.便捷的 CI 服务. 甚至可以像 Gulp 或 Grunt 一样,仅仅通过一个 cizefile.js ...
- Gitlab+Gitlab-CI+Docker实现持续集成(CI)与持续部署(CD)
写在前面 记录一下,一个自动化开发部署项目的构建过程与简单使用,实现真正的DevOps gitlab安装 步骤一:安装依赖 yum -y install git gcc glibc-static te ...
- Jenkins持续集成(下)-Jenkins部署Asp.Net网站自动发布
环境:Windows 2008 R2.Jenkins2.235.1.Visual Studio 2017: 概要 前面写过一篇文章,<自动发布-asp.net自动发布.IIS站点自动发布(集成S ...
随机推荐
- JavaScript:常用总结
● 语法要点 ● 引用类型 ● BOM/DOM ● 事件要点 一.语法要点 1.在声明变量时,如果省去了var关键字,那么这个变量为全局变量. 2.数据类型有5种原始类型和9种引用类型: 原始类型中: ...
- [ NOIP 2002 ] TG
\(\\\) \(\#A\) 均分纸牌 有\(N\)堆纸牌,每堆有若干张,但纸牌总数必为\(N\)的倍数.可以在任一堆上取若干张纸牌,然后移动给其左右任意一侧的纸牌堆,求将所有的牌堆牌数都变为平均值最 ...
- Android 6.0 如何添加完整的系统服务(app-framework-kernel)
最近学习了如何在Android 6.0上添加一个系统服务,APP如何通过新增的系统服务访问底层驱动.在这学习过程中,收获颇多,并结合学习了<Embeded Android>--Karim ...
- servlet-响应信息
package servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.ser ...
- 【YOLO】只检测人
一.修改源代码 cfg/coco.data classes= #修改成1 train = /home/pjreddie/data/coco/trainvalno5k.txt valid = coco_ ...
- (转)Hibernate快速入门
http://blog.csdn.net/yerenyuan_pku/article/details/64209343 Hibernate框架介绍 什么是Hibernate 我们可以从度娘上摘抄这样有 ...
- http通信流程
Host https://www.charlesproxy.com Path / Notes SSL Proxying not enabled for this host. Enable in the ...
- Eclipse中自动生成get/set时携带注释给get/set
Eclipse中自动生成get/set时携带注释给get/set 编码的时候通常要用到 JavaBean ,而在我们经常把注释写在字段上面,但生成的Get/Set方法不会生成,通过修改Eclips ...
- git学习(1)
一.git fetch 和git pull 的差别 1.git fetch 相当于是从远程获取最新到本地,不会自动merge,如下指令: git fetch orgin master //将远程仓库的 ...
- JavaScript day4(条件语句和条件运算符)
1. 布尔值 布尔值要么是 true 要么是 false .它非常像电路开关, true 是“开”,false 是“关”.这两种状态是互斥的. 2. if 语句 if 语句用于在代码中做条件判断.关键 ...