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

什么是持续集成

随着软件开发复杂度的不断提升,团队开发成员间如何更好地协同工做以确保软件开发的质量已经慢慢成为开发过程当中不可回避的问题。尤为是近些年来,敏捷(Agile) 在软件工程领域愈来愈红火,如何能再不断变化的需求中快速适应和保证软件的质量也显得尤为的重要。html

持续集成正是针对这一类问题的一种软件开发实践。它倡导团队开发成员必须常常集成他们的工做,甚至天天均可能发生屡次集成。而每次的集成都是经过自动化的构建来验证,包括自动编译、发布和测试,从而尽快地发现集成错误,让团队可以更快的开发内聚的软件。服务器

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

  1. 持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减小重复过程以节省时间、费用和工做量;
  2. 持续集成保障了每一个时间点上团队成员提交的代码是能成功集成的。换言之,任什么时候间点都能第一时间发现软件的集成问题,使任意时间发布可部署的软件成为了可能;
  3. 持续集成还能利于软件自己的发展趋势,这点在需求不明确或是频繁性变动的情景中尤为重要,持续集成的质量能帮助团队进行有效决策,同时创建团队对开发产品的信心。
持续集成的原则

业界广泛认同的持续集成的原则包括:测试

1)须要版本控制软件保障团队成员提交的代码不会致使集成失败。经常使用的版本控制软件有 IBM Rational ClearCase、CVS、Subversion 等;ui

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

3)须要有专门的集成服务器来执行集成构建。根据项目的具体实际,集成构建能够被软件的修改来直接触发,也能够定时启动,如每半个小时构建一次;server

4)必须保证构建的成功。若是构建失败,修复构建过程当中的错误是优先级最高的工做。一旦修复,须要手动启动一次构建。htm

持续集成系统的组成

因而可知,一个完整的构建系统必须包括:blog

  1. 一个自动构建过程,包括自动编译、分发、部署和测试等。
  2. 一个代码存储库,即须要版本控制软件来保障代码的可维护性,同时做为构建过程的素材库。
  3. 一个持续集成服务器。

Jenkins是由Sun的前员工开发的,它的根基是Java,但也能够用在非Java的项目里,好比PHP、Ruby on Rails、.NET。在.NET项目里,你除了Jenkins以外还要熟悉另外一样工具:MSBuild。Visual Studio用MSBuild构建.NET项目。MSBuild所需的仅仅是一个脚本,在脚本中指定要执行的target。项目中的.csproj和.vbproj 文件都是MSBuild脚本。下面的几篇文章介绍如何使用Jenkins 快速搭建持续集成服务器。开发

 

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

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

Create a Mono C# Buildserver using Jenkins and GitHub

相关文章
相关标签/搜索