持续集成(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 ...
随机推荐
- 如何调用com组件中包含IntPtr类型参数的函数
背景 公司的支付平台最近对接了西安移动的支付接口,接口中签名的方法是对方提供了一个com组件,组件中包含了一个签名的方法和一个验签的方法,注册了签名之后,在vs中进行了引用,引用之后,查看组件的定义如 ...
- C# windform自定义控件的属性小知识
word中的加粗变斜之类的一直让我以为是button,直到我接触了自定义控件,才发现实现这种机能最好的是CheckBox,然后我们在做一个系统的时候,这种控件有可能要用好多次,总不能在用一次的时候,就 ...
- 【PL/SQL】触发器示例:记录加薪
首先创建一张表,用于保存薪资变化情况: --创建加薪记录表 CREATE TABLE scott.raisedsalarylog ( empno ) NOT NULL PRIMARY KEY, --员 ...
- node(koa)微信公众号接口认证
使用微信测试号, 花生壳内网穿透 需要注意 token 两边都是自定义, 需要保持一致, const Koa = require('koa') const sha1 = require('sha1') ...
- jsessionid什么时候生成并传递到前端的?
jsessionid什么时候生成并传递到前端的? 如果客户端请求的cookie中不包含JSESSIONID,服务端调用request.getSession()时就会生成并传递给客户端,此次响应 ...
- vi 命令学习(三)
[末行命令] 末行命令主要是针对文件进行操作的:保存.退出.保存&退出.搜索&替换.另存.新建.浏览文件 命令 ...
- altera quartus 百度云分享 quartus prime 17.1 16.1 13.0
quartus prime 17.1 标准版 链接:https://pan.baidu.com/s/10QWejKdDobVxDSqnVPJ0xQ 提取码:hhvj 复制这段内容后打开百度网盘手机Ap ...
- js里的深度克隆
ES6 数组克隆 let arr = [1,2,3,4,5]; let arr1 = [...a]; arr1 = ["a","b","c" ...
- 64.root object的理解
一.root object的理解 就是某个type对应的mapping json,包括properties,metadata(_id,_source,_type),settings(analy ...
- render: h => h(App) $mount 什么意思
初始一个vue.js项目时,常常发现main.js里有如下代码: new Vue({ render: h => h(App) }).$mount('#app') 这什么意思?那我自己做项目怎么改 ...