持续集成(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 ...
随机推荐
- Unity Android交互过坑指南
Unity Android交互过坑指南 介于网上看过很多unity和Android交互的教程,都或多或少的漏掉了一些部分,导致编译过程中出现各种问题,特此整理一份教程,仅供参考 介绍 本次实现的是在游 ...
- android接收mjpg-streamer软件视频流
[代码]主要实现代码 package cn.dong.mjpeg; import java.io.InputStream; import java.net.HttpURLConnection; imp ...
- 在PHP中调用php_ssh实现远程登陆linux服务器并执行shell脚本。
这个功能主要用于在web端利用程序对远程服务器进行操作,通过PHP_ssh执行shell脚本来实现. 首先要安装php_ssh2组件,linux中centos7下有ssh2源,直接安装.window下 ...
- MaskRCNN路标:TensorFlow版本用于抠图
MaskRCNN用于检测路标,作为更详细的目标检测,用以得到更精准的额路标位置,路标的几何中心点,用于构建更为精准的拓扑地图,减少构图误差. 抠图工具已经完成,把框抠出来,用0值表示背景. pytho ...
- Java切换JDK版本的方法及技巧
由于项目的不同安排,之前项目开发时,使用的jdk版本为1.8,现临时接手一以前项目,需要更换jdk版本. 安装 不再赘述,去Oracle网站(https://www.oracle.com/techne ...
- CAD绘制一个角度标注(com接口VB语言)
主要用到函数说明: _DMxDrawX::DrawDimAngular 绘制一个角度标注.详细说明如下: 参数 说明 DOUBLE dAngleVertexX 角度标注的顶点的X值 DOUBLE dA ...
- 【原】PHPExcel导出Excel
1.引入相关公共库PHPExcel 2.编写公共函数 public function exportExcel($excelTitle,$data,$filename='',$column_width= ...
- Python学习【第4篇】:Python之文件操作
文件操作 读取一行 f=open("D:\\1.txt",'rb') print f.readline() f.close() 将文件内容保存在一个list with open(& ...
- $(document).ready(function(){}) 与 window.onload = function(){} 区别
$(document).ready(fucntion(){ //在页面dom结构加载完毕后执行代码, }) window.onload = function(){ //页面所有内容加载完毕后,执行代码 ...
- dp有哪些种类
dp有哪些种类 一.总结 一句话总结: 二.dp动态规划分类详解 动态规划一直是ACM竞赛中的重点,同时又是难点,因为该算法时间效率高,代码量少,多元性强,主要考察思维能力.建模抽象能力.灵活度. * ...