简介

Jenkins是一个开源的持续集成工具,提供了数百种插件供用户选择,能够完成整套持续集成环境的构建。

它具有如下的特点:

  1. 持续集成和持续发布

作为可扩展的自动服务器,Jenkins可以作为简单的CI服务器使用,也可以作为持续发布源。

  1. 安装简单

Jenkins是基于Java的程序,因此其可以运行在多种平台上,如Windows,Mac OS X和其他类似于Unix的操作系统。

  1. 配置简单

Jenkins可以通过Web图形化界面进行配置,包括实时的错误检查和内置帮助。

  1. 支持插件

在升级中心中支持数百种插件,Jenkins继承了持续集成领域内的每个工具,并且这些工具还在持续的更新和发布。

  1. 可扩展

Jenkins提供了支持插件的可扩展架构,因此它的应用领域几乎是无限的。

  1. 支持分布式

Jenkins可以方便的在多台主机中分配任务,帮助驱动构建,测试和部署。

操作

启动

$ sudo /opt/bitnami/ctlscript.sh start

停止

$ sudo /opt/bitnami/ctlscript.sh stop

升级

由于某些插件老版本不支持,因此考虑升级Jenkins服务器。现有版本是1.607,考虑升级到1.656。

下载最新版的jenkins.war,并复制到

/opt/bitnami/apps/jenkins/jenkins_home

/opt/bitnami/apache-tomcat/webapps/jenkins.war

注意要提前备份,因为有可能插件不兼容。

重启Jenkins

安装

下载jenkins最新版本

Pipeline

Pipeline功能要求必须是jenkins 1.642.3或更高(Jenkins2.0更好)

标准的jenkins的freestyle任务允许用户构建一个顺序执行的构建步骤,但是并没有保存构件过程中出现的问题;通过一个脚本控制整个复杂的构建工作流和其他pipeline能提供优势。

同freestyle相比,pipleline允许用户定义应用的整个生命周期。Pipeline帮助jenkins支持持续发布(continous delivery,CD)。Pipeline是为了满足构件一个弹性的,可扩展的,基于脚本的持续发布需求而出现的。

相应的,pipeline有如下的特性:

  1. 可持续,在计划和未计划的jenkins服务器重启的情况下都可以正常运行
  2. 可暂停,可以在构建中暂停
  3. 多功能,支持现实使用中的持续发布需求,包括forkjoin,循环和并行执行等。
  4. 可扩展,支持用户扩展

插件安装

插件安装

系统管理->管理插件

在该界面中,可以升级/卸载已有插件并安装新的插件,并且插件兼容性也有很好的提示。

另外,由于墙的原因,很有可能插件安装错误,这时候可以通过在Jenkins网站上下载最新版本的插件,并通过插件管理->高级选项卡上传安装插件。

之后重启jenkins即可完成安装。

邮件插件

其自身携带的邮件管理插件太弱了,因此安装Jenkins Email Extension Plugin和Email Extension Template Plugin

  1. 配置系统管理员地址

该地址一定要配置,否则无法收到消息。

  1. 配置Email Extension Plugin插件

注意这里使用了QQ邮箱,163邮箱对此有限制,识别为垃圾邮件。

如果使用QQ邮箱,主要注意QQ邮箱使用的是SSL验证。

Static Code Utilities

静态检查工具的基础依赖,必须安装

Static Analysis Collector Plug-in

静态检查结果分析,将结果展示到编译结果窗口

Checkstyle Plugin

代码规则检查

PMD Plugin

Findbugs Plugin

需要注意Findbug是基于字节码进行检测,因此其必须在maven 之后运行。

使用Jenkins构建持续集成环境的更多相关文章

  1. Docker 结合Jenkins 构建持续集成环境

    Docker 结合Jenkins  构建持续集成环境 Jenkins : 一个开源的持续集成工具, 提供软件版本发布.自动测试等一系列流程及丰富的插件 Maven: 一个自动化构建工具, 通过一段描述 ...

  2. Docker结合Jenkins构建持续集成环境

    1.环境说明: jenkins+svn:192.168.71.142 测试环境:192.168.71.145 生产环境:192.168.71.148 操作系统:centos7. Maven3. Tom ...

  3. 用MSBuild和Jenkins搭建持续集成环境(2)

    http://www.infoq.com/cn/articles/MSBuild-2   作者 Mustafa Saeed Haji Ali ,译者 李剑 发布于 2012年10月23日 | 注意:  ...

  4. 使用Docker搭建Jenkins+Docker持续集成环境(自动化构建发布部署)

    本文介绍如何通过Jenkins的docker镜像从零开始构建一个基于docker镜像的持续集成环境,包含自动化构建.发布到仓库\并部署上线. 0. 前置条件 服务器安装docker,并启动docker ...

  5. RF+Jenkins构建持续集成

    引入RF是为了能够快速的开展自动化验收测试,Jenkins而一种持续集成工具,用于监控持续重复的工作,持续的软件版本发布/测试项目,而通过RF+Jenkins可以有利的对RF构建的接口项目进行持续集成 ...

  6. Docker+Jenkins持续集成环境(1)使用Docker搭建Jenkins+Docker持续集成环境

    本文介绍如何通过Jenkins的docker镜像从零开始构建一个基于docker镜像的持续集成环境,包含自动化构建.发布到仓库\并部署上线. 0. 前置条件 服务器安装docker,并启动docker ...

  7. 使用jenkins构建持续集成平台

    jenkins +   Maven + svn/git + tomcat 的持续集成平台 项目管理流程: 需求分析----原型设计----开发代码----提交测试-----内部测试-----确认上线( ...

  8. Jenkins + svn + maven 构建持续集成环境搭建

    Jenkins简介 Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括: ...

  9. 用MSBuild和Jenkins搭建持续集成环境(1)

     http://www.infoq.com/cn/articles/MSBuild-1 你或其他人刚刚写完了一段代码,提交到项目的版本仓库里面.但等一下,如果新提交的代码把构建搞坏了怎么办?万一出现编 ...

随机推荐

  1. SSH无密码验证

    一.安装和启动SSH协议 sudo yum install ssh sudo yum install rsync service sshd restart 启动服务 (rsync是一个远程数据同步工具 ...

  2. Java对象初始化详解

    在Java中,一个对象在可以被使用之前必须要被正确地初始化,这一点是Java规范规定的.本文试图对Java如何执行对象的初始化做一个详细深入地介绍(与对象初始化相同,类在被加载之后也是需要初始化的,本 ...

  3. Sqli-labs less 17

    Less-17 本关我们可以看到是一个修改密码的过程,利用的是update语句,与在用select时是一样的,我们仅需要将原先的闭合,构造自己的payload. 尝试报错 Username:admin ...

  4. 单例模式及C++实现

    单例模式及C++实现代码 C++中的单例模式http://blog.csdn.net/hackbuteer1/article/details/7460019

  5. 超快的 FastText

    Word2Vec 作者.脸书科学家 Mikolov 文本分类新作 fastText:方法简单,号称并不需要深度学习那样几小时或者几天的训练时间,在普通 CPU 上最快几十秒就可以训练模型,得到不错的结 ...

  6. Form的用法

    提交页面: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w ...

  7. POJ2451 Uyuw's Concert(半平面交)

    题意就是给你很多个半平面,求半平面交出来的凸包的面积. 半平面交有O(n^2)的算法,就是每次用一个新的半平面去切已有的凸包,更新,这个写起来感觉也不是特别好写. 另外一个O(nlogn)的算法是将半 ...

  8. URAL 1517 Freedom of Choice(后缀数组,最长公共字串)

    题目 输出最长公共字串 #define maxn 200010 int wa[maxn],wb[maxn],wv[maxn],ws[maxn]; int cmp(int *r,int a,int b, ...

  9. 最近在看 ASP.NET 5,有关官方实现的 OAuth 2 包

    有了官方实现的 OAuth 2 包,再扩展到国内就方便多了(懒得找第三方). 官方实现的有关授权和验证的包:https://github.com/aspnet/Security 根据这些,我就扩展了几 ...

  10. java理论基础学习一

    java的最大优势是跨平台 java的版本和体系架构 1.J2EE   Java 2 Enterprise Edition 定位在服务器端的应用 2.J2SE   Java 2 Standard Ed ...