基于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,如需转载请自行联系原作者

相关文章
|
17天前
|
人工智能 算法 数据可视化
人工智能的集成环境
【4月更文挑战第27天】人工智能的集成环境
25 1
|
17天前
|
机器学习/深度学习 人工智能 安全
ai集成环境
【4月更文挑战第27天】ai集成环境
26 1
|
3天前
|
算法 Linux Windows
FFmpeg开发笔记(十七)Windows环境给FFmpeg集成字幕库libass
在Windows环境下为FFmpeg集成字幕渲染库libass涉及多个步骤,包括安装freetype、libxml2、gperf、fontconfig、fribidi、harfbuzz和libass。每个库的安装都需要下载源码、配置、编译和安装,并更新PKG_CONFIG_PATH环境变量。最后,重新配置并编译FFmpeg以启用libass及相关依赖。完成上述步骤后,通过`ffmpeg -version`确认libass已成功集成。
FFmpeg开发笔记(十七)Windows环境给FFmpeg集成字幕库libass
|
7天前
|
敏捷开发 监控 jenkins
探索自动化测试在持续集成环境中的关键作用
【5月更文挑战第6天】 在快速迭代的软件开发周期中,持续集成(CI)已经成为确保代码质量和加速交付的重要实践。本文将深入探讨自动化测试作为持续集成不可或缺的组成部分,它如何通过减少人为错误、提高测试覆盖率和加快反馈周期来强化软件开发流程。通过对现代自动化测试工具的评估以及真实案例的分析,我们揭示了自动化测试在提升软件可靠性和效率方面的核心价值,并提出了实现高效自动化测试策略的最佳实践。
|
7天前
|
敏捷开发 数据管理 测试技术
探索自动化测试在持续集成环境中的优化策略
【5月更文挑战第6天】 本文旨在深入剖析自动化测试在持续集成(CI)环境中所面临的挑战,并提出一系列创新的优化策略。通过对现代软件开发过程中自动化测试角色的分析,我们揭示了在快速迭代和部署的背景下,如何通过改进测试框架、选择合适的测试工具、以及实施数据驱动测试等手段来提高测试效率和准确性。文章不仅聚焦于技术层面的解决方案,还探讨了团队协作和流程管理对提升自动化测试效能的重要性。
|
16天前
|
编解码 Linux Windows
FFmpeg开发笔记(十三)Windows环境给FFmpeg集成libopus和libvpx
本文档介绍了在Windows环境下如何为FFmpeg集成libopus和libvpx库。首先,详细阐述了安装libopus的步骤,包括下载源码、配置、编译和安装,并更新环境变量。接着,同样详细说明了libvpx的安装过程,注意需启用--enable-pic选项以避免编译错误。最后,介绍了重新配置并编译FFmpeg以启用这两个库,通过`ffmpeg -version`检查是否成功集成。整个过程参照了《FFmpeg开发实战:从零基础到短视频上线》一书的相关章节。
FFmpeg开发笔记(十三)Windows环境给FFmpeg集成libopus和libvpx
|
17天前
|
编解码 Linux
FFmpeg开发笔记(十二)Linux环境给FFmpeg集成libopus和libvpx
在《FFmpeg开发实战》一书中,介绍了如何在Linux环境下为FFmpeg集成libopus和libvpx,以支持WebM格式的Opus和VP8/VP9编码。首先,下载并安装libopus。接着,下载并安装libvpx。最后,在FFmpeg源码目录下,重新配置FFmpeg,启用libopus和libvpx,编译并安装。通过`ffmpeg -version`检查版本信息,确认libopus和libvpx已启用。
FFmpeg开发笔记(十二)Linux环境给FFmpeg集成libopus和libvpx
|
17天前
|
编解码 Linux Windows
FFmpeg开发笔记(十一)Windows环境给FFmpeg集成vorbis和amr
在Windows环境下,为FFmpeg集成音频编解码库,包括libogg、libvorbis和opencore-amr,涉及下载源码、配置、编译和安装步骤。首先,安装libogg,通过配置、make和make install命令完成,并更新PKG_CONFIG_PATH。接着,安装libvorbis,同样配置、编译和安装,并修改pkgconfig文件。之后,安装opencore-amr。最后,重新配置并编译FFmpeg,启用ogg和amr支持,通过ffmpeg -version检查是否成功。整个过程需确保环境变量设置正确,并根据路径添加相应库。
FFmpeg开发笔记(十一)Windows环境给FFmpeg集成vorbis和amr
|
17天前
|
编解码 Linux
FFmpeg开发笔记(十)Linux环境给FFmpeg集成vorbis和amr
在Linux环境下,为FFmpeg添加对AAC、MP3、OGG和AMR音频格式的支持,需安装libogg、libvorbis和opencore-amr库。首先,从官方源下载各库的最新源码,如libogg-1.3.5、libvorbis-1.3.7和opencore-amr-0.1.6,然后解压并依次执行`./configure`、`make`和`make install`进行编译安装。接着,在FFmpeg源码目录中,使用`./configure`命令重新配置,并重新编译安装FFmpeg。最后,验证FFmpeg版本信息确认已启用ogg和amr支持。
FFmpeg开发笔记(十)Linux环境给FFmpeg集成vorbis和amr
|
27天前
|
数据挖掘 测试技术 开发工具
python 以及集成环境的安装
python 以及集成环境的安装