基于Jenkins 搭建持续集成环境

简介:

持续集成概述

什么是持续集成

随着软件开发复杂度的不断提高,团队开发成员间如何更好的协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题。尤其是近年来

敏捷开发在软件领域越来越火,如何能再不间断变化的需求中快熟适应和保证软件的质量显得尤其的重要.


持续集成正式针对这一类问题的一种软件开发实践。它倡导团队开发成员必须经常集成他们的工作,甚至每天都可能发生多次集成。而每次的集成都是

通过自动化的构建来验证,包括自动编译、发布和测试,从而尽快的发现集成错误,让团队能更快的开发内聚的软件。


持续集成的核心价值在于:

1、持续集成中的任何一个环节都是自动完成的,无需太多人工干预,有利于减少重复过程以节省时间、费用和工作量;

2、持续集成保障每个时间点上团队成员提交的代码是能成功集成的。换言之,任何时间点都能第一时间发现软件的集成问题,使任意时间发布可部署

软件成为可能;

3、持续集成还能利于软件本身的发展趋势,这点在需求不明确或是频繁性变更的情景中尤其重要,持续集成的质量能够帮助团队进行有效决策,同时

简历团队对开发产品的信心。


持续集成的原则

业界普遍认同的持续集成的原则包括:

1、需要版本控制软件保障团队成员提交的代码不会导致集成失败。常用的版本控制软件有cvs,subversion,git,sourcesafe等;

2、开发人员须及时向版本控制库中提交代码,也需经常性的从版本控制库中更新代码到本地;

3、需要有专门的集成服务器来执行集成构建。根据项目的具体实际,集成构建可以被软件的修改来直接触发,也可以定时启动,

如每半小时构建一次;

4、必须保证构建的成功。如果构建失败,修复构建过程中的错误是优先级最高的工作。一旦修复,需手动启动一次构建。


持续集成系统的组成

由此可见,一个完整的构建系统必须包括:

1、一个自动构建过程,包括自动编译、分发、部署和测试等。

2、一个代码库,即需要版本控制软件来保障代码的可维护性,同时作为构建过程的素材库。

3、一个持续集成服务器。即将介绍的jenkins就是一个配置简单和使用方便的持续集成服务器。



Jenkins 简介

Jenkins是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更重要的业务逻辑实现上。同时Jenkins能

实施监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象的展示项目构建的趋势和稳定性。下面将介绍Jenkins的基本功能。


Jenkins的安装非常简单

服务器环境: Ubuntu 12.04.1 LTS

安装jenkins

1
2
3
4
wget -q -O - http: //pkg .jenkins-ci.org /debian/jenkins-ci .org.key |  sudo  apt-key add -
sudo  sh -c  'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo  apt-get update
sudo  apt-get  install  jenkins

启动停止jenkins

1
2
sudo  /etc/init .d /jenkins  start
sudo  /etc/init .d /jenkins  stop


Jenkins home: /var/lib/jenkins

log路径/var/log/jenkins/jenkins.log


152151169.jpg


可以看到Jenkins默认使用的是:8080端口

启动Jenkins后,我们看到一个后台进程在命令行模式下运行。此时在浏览器地址栏中打开 http://serverip:8080 就可以看到Jenkins的页面了

Jenkins的可贵之处在于具有非常搞的可用性,从它的界面中能轻松地完成各种配置,更多的配置和使用信息,可以在Jenkins的官方网站上查询。

Jenkins的主界面是:

153121547.jpg

Jenkins提供了非常丰富的插件支持,使得Jenkins变得越来越强大。我们可以方便的安装各种第三方插件,从而方便快捷的集成第三方的应用。

比如Jenkins提供了对于IBM Rational ClearCase的插件支持。

154425563.jpg此外,Jenkins还提供了强大的的管理和配置功能,包括系统配置、管理插件、查看系统信息、系统日志、节点管理、Jenkins命令行窗口、信息统计等功能。

试试看,你就会发现Jenkins非常好用上手。

155120251.jpg

基于Jenkins快速搭建持续集成环境

正如前面所述,一个持续集成环境需要包括三个方面的要素:代码库、构建过程和持续集成服务器。对于Jenkins有初步了解后,我们通过一个实例来集中

展示如何快速搭建一个简单的基于Jenkins的持续集成环境。


我们使用Git作为版本控制库,Jenkins默认情况下是没有安装Git的.我们需要到插件管理界面中选中Git,然后点击安装重新启动来激活这个插件。安装成功

后,可以在已安装选项卡上看到以下信息。


170254208.jpg


接下来,我们开始新建一个Jenkins项目,我们选择 "构建一个自由风格的软件项目"

170744280.jpg然后我们可以很方便的配置个JenkinsTest项目了。Jenkins很任性的一点是在每个配置的右侧都有一个帮助的图标,点击图标Jenkins会告诉你

如何配置这个选项。


我的Git代码库地址是:/home/jenkins/api.git

171703107.jpg


根据开发需要,设置分钟我们需要构建一次。选择 Build periodically,在日程表中填写 * * * * *

第一个参数代表的是分钟 minute,取值 0~59;

第二个参数代表的是小时 hour,取值 0~23;

第三个参数代表的是天 day,取值 1~31;

第四个参数代表的是月 month,取值 1~12;

最后一个参数代表的是星期 week,取值 0~7,0 和 7 都是表示星期天。

所以 *  * * * * 表示的就是每分钟执行一次构建。


在"增加构建步骤"选择 Execute Shell

172215181.jpg

选择和配置其他的选项,比如邮件提醒,然后点击 save 保存。

172419456.jpg

接下来每分钟,jenkinsTest就会构建一次。我们可以在Jenkins中观察构建进度和最终的状态 成功或失败。太阳表示之前的构建没有任何失败,

蓝色的小球表示构建成功。

172953501.jpg

同时我们可以点击JenkinsTest查看单词构建的Console的输出结果。从中我们可以看到构建的第一步是从git服务器上checkout代码然后调用我们配置的命令

173358573.jpg


173456411.jpg



我们可以看没分钟构建的列表。我们模拟一次构建失败的情况,我们把git版本库地址/home/jenkins/api.git的第一个"/"去掉后为:home/jenkins/api.git

再看构建过程会发生什么...


174012491.jpg


JenkinsTest构建发生了错误.查看详细信息如下:提示找不到版本库

174155981.jpg


查看一下邮件:


174346974.jpg


174507279.jpg


然后我们就可以在 Jenkins 中观察构建的状态了。一旦构建失败我们能看到相应的警示图标,同时,如果配置了邮件提醒,相关人员也会受到邮件。记住我们先前所提醒的那样,

分析和处理构建的失败是优先级最高的工作。接下来,我们还可以加入更多的 Jenkins 项目来实现自动化测试等功能,让持续集成更方便有效地服务于项目开发。

本次分享到此结束,谢谢耐心观看。



本文转自birdinroom 51CTO博客,原文链接:http://blog.51cto.com/birdinroom/1342897,如需转载请自行联系原作者

相关文章
|
23天前
|
jenkins Devops Java
DevOps实践:Jenkins在持续集成与持续部署中的价值
【10月更文挑战第27天】在快速发展的软件开发领域,DevOps实践日益重要。Jenkins作为一款流行的开源自动化服务器,在持续集成(CI)和持续部署(CD)中扮演关键角色。本文通过案例分析,探讨Jenkins在Java项目中的应用,展示其自动化构建、测试和部署的能力,提高开发效率和软件质量。
44 2
|
11天前
|
运维 jenkins Java
Jenkins在持续集成与持续部署中的价值
Jenkins在持续集成与持续部署中的价值
|
24天前
|
jenkins Devops 测试技术
DevOps实践:Jenkins在持续集成与持续部署中的价值
【10月更文挑战第26天】随着DevOps理念的普及,Jenkins作为一款开源自动化服务器,在持续集成(CI)与持续部署(CD)中发挥重要作用。本文通过某中型互联网企业的实际案例,展示了Jenkins如何通过自动化构建、持续集成和持续部署,显著提升开发效率、代码质量和软件交付速度,帮助企业解决传统手工操作带来的低效和错误问题。
48 4
|
1月前
|
jenkins Java 持续交付
Docker搭建jenkins环境
这篇文章详细介绍了如何利用Docker搭建Jenkins环境,包括拉取Jenkins镜像、配置端口映射及初始化设置的步骤。
159 0
Docker搭建jenkins环境
|
1月前
|
jenkins Shell 持续交付
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(二)
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(二)
69 0
|
1月前
|
jenkins Shell 持续交付
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(一)
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(一)
154 0
|
3月前
|
持续交付 jenkins Devops
WPF与DevOps的完美邂逅:从Jenkins配置到自动化部署,全流程解析持续集成与持续交付的最佳实践
【8月更文挑战第31天】WPF与DevOps的结合开启了软件生命周期管理的新篇章。通过Jenkins等CI/CD工具,实现从代码提交到自动构建、测试及部署的全流程自动化。本文详细介绍了如何配置Jenkins来管理WPF项目的构建任务,确保每次代码提交都能触发自动化流程,提升开发效率和代码质量。这一方法不仅简化了开发流程,还加强了团队协作,是WPF开发者拥抱DevOps文化的理想指南。
88 1
|
2月前
|
jenkins 持续交付 网络安全
利用 Jenkins 实现持续集成与持续部署-代码拉取终端的配置
安装Git、配置用户信息、生成SSH密钥以及在Gitee上创建项目仓库等。
79 0
|
4月前
|
监控 druid Java
spring boot 集成配置阿里 Druid监控配置
spring boot 集成配置阿里 Druid监控配置
297 6
|
4月前
|
Java 关系型数据库 MySQL
如何实现Springboot+camunda+mysql的集成
【7月更文挑战第2天】集成Spring Boot、Camunda和MySQL的简要步骤: 1. 初始化Spring Boot项目,添加Camunda和MySQL驱动依赖。 2. 配置`application.properties`,包括数据库URL、用户名和密码。 3. 设置Camunda引擎属性,指定数据源。 4. 引入流程定义文件(如`.bpmn`)。 5. 创建服务处理流程操作,创建控制器接收请求。 6. Camunda自动在数据库创建表结构。 7. 启动应用,测试流程启动,如通过服务和控制器开始流程实例。 示例代码包括服务类启动流程实例及控制器接口。实际集成需按业务需求调整。
380 4
下一篇
无影云桌面