pangxia75 发表于 2018-1-7 15:31:43

使用Jenkins构建持续集成环境

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

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

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

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

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

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

[*]支持分布式
  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有如下的特性:

[*]可持续,在计划和未计划的jenkins服务器重启的情况下都可以正常运行
[*]可暂停,可以在构建中暂停
[*]多功能,支持现实使用中的持续发布需求,包括forkjoin,循环和并行执行等。
[*]可扩展,支持用户扩展
https://images2015.cnblogs.com/blog/531894/201604/531894-20160429170438628-1756480291.png
插件安装
插件安装
  系统管理->管理插件
https://images2015.cnblogs.com/blog/531894/201604/531894-20160429170451316-286616103.png
  在该界面中,可以升级/卸载已有插件并安装新的插件,并且插件兼容性也有很好的提示。
  另外,由于墙的原因,很有可能插件安装错误,这时候可以通过在Jenkins网站上下载最新版本的插件,并通过插件管理->高级选项卡上传安装插件。
  之后重启jenkins即可完成安装。
邮件插件
  其自身携带的邮件管理插件太弱了,因此安装Jenkins Email Extension Plugin和Email Extension Template Plugin。

[*]配置系统管理员地址
  该地址一定要配置,否则无法收到消息。
https://images2015.cnblogs.com/blog/531894/201604/531894-20160429170752550-334658510.png

[*]配置Email Extension Plugin插件
  注意这里使用了QQ邮箱,163邮箱对此有限制,识别为垃圾邮件。
  如果使用QQ邮箱,主要注意QQ邮箱使用的是SSL验证。
https://images2015.cnblogs.com/blog/531894/201604/531894-20160429170802816-2137436256.png
Static Code Utilities
  静态检查工具的基础依赖,必须安装
Static Analysis Collector Plug-in
  静态检查结果分析,将结果展示到编译结果窗口
Checkstyle Plugin
  代码规则检查
PMD Plugin
Findbugs Plugin
  需要注意Findbug是基于字节码进行检测,因此其必须在maven 之后运行。
页: [1]
查看完整版本: 使用Jenkins构建持续集成环境