`

转 - 一 Jenkins学习笔记 - - Jenkins是啥么?

 
阅读更多

Jenkins——持续集成服务器

 

持续集成的概念

 

1.什么是持续集成

 

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

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

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

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

2.持续集成的原则

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

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

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

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

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

 

3.持续集成系统的组成

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

  1. 一个自动构建过程,包括自动编译、分发、部署和测试等。
  2. 一个代码存储库,即需要版本控制软件来保障代码的可维护性,同时作为构建过程的素材库。
  3. 一个持续集成服务器。本文中介绍的 Jenkins 就是一个配置简单和使用方便的持续集成服务器。
 
二、Jenkins 简介
Jenkins 是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上。同时 Jenkins 能实施监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性。
 
三、和同类软件的比较

1)Jenkin和cruisecontrol

Jenkins和cruisecontrol都是CI工具,二者在CI中发挥的作用完全一致。

而Jenkins作为新一代的CI工具,渐渐开始取代cruisecontrol。二者都是java程序,但:

1,Jenkins提供更为友好的用户界面,而cruisecontrol在界面方面糟糕的几乎等于没有。

2,Jenkins内置的功能提供了极大的便利,不论是新建一个build,还是日常使用,你需要做的大部分时候仅仅是在用户界面上点击而已。

在cruisecontrol新建build是通过创建config.xml来完成的。它仅仅提供非常有限的功能,很多时候你会发现,需要自己完成很多工作。

3,Jenkins作为一个欣欣向荣的开源项目,有大批的plugin。当你发现需要一个Jenkins本身并不提供的功能是,搜索一下plugin,总会有收获。非常多的流行工具如JBehave,cobertura都提供jenkins插件。

而针对cruisecontrol的plugin却很少。

4,Jenkins友好的用户界面让学习成本很少,你可以在最短的时间内开始你的工作。

 

事实上,Jenkins是我见过的最好的开源项目之一,它简洁实用的用户界面设计,完善的文档,丰富的插件。当你开始使用它,你就会爱上它。

当你需要一个build工具时,Jenkins几乎是当下的不二选择。

 

2)Jenkins和Hudson

Jenkins起源于Hudson。Hudson在商业软件的路上继续前行,而Jenkins则作为开源软件,从hudson分支出来。

因此现在的jenkins和hudson非常类似,但是随着二者各自的发展,已经有了一些不同。

 

分享到:
评论

相关推荐

    Jenkins学习笔记

    第1章 Jenkins简述 4 1.1 Jenkins是什么? 4 1.2 为什么是Jenkins? 4 1.3 持续集成是什么? 4 1.4 安装Jenkins系统要求 4 第 2 章 安装Jenkins 5 2.1 下载Jenkins 5 2.2 开始Jenkins 5 2.3 连接Jenkins 6 第 3章 ...

    jenkins学习笔记markdown格式

    本人运维工程师,因工作需要,编写了一个jenkins的技术文档,markdown格式可以使用typora工具进行编辑,主要是介绍的了初时jenkins服务,jenkins的部署,和jenkins管理gitlab代码仓库,和实现为开发人员自动构建上传...

    jenkins-study:Jenkins学习笔记

    Jenkins配置笔记 服务器安装 Debian/Ubuntu 主页上有各种安装包下载,我们安装在Debian的服务器上,参考 This is the Debian package repository of Jenkins to automate installation and upgrade. To use this ...

    Jenkins 持续集成学习笔记.pdf

    【Jenkins 持续集成学习笔记】 Jenkins 是一款广泛应用的开源持续集成工具,它支持自动化的构建、测试和部署流程,以提高软件开发效率和质量。在现代软件开发中,持续集成(CI)是敏捷开发的重要实践之一,它强调...

    jenkins安装文件及教程

    1. **RPM安装**:描述中提到的`jenkins-1.658-1.1.noarch.rpm`是一个基于RPM的Jenkins安装包,适用于Linux系统。安装步骤通常包括: - 添加Jenkins仓库到系统:`sudo vi /etc/yum.repos.d/jenkins.repo`,然后输入...

    jenkins课件笔记

    Jenkins 是一个开源的持续集成(CI)服务器,用于自动化各种软件开发过程,如构建、测试和部署。它支持多种版本控制系统,并且可以通过插件扩展其功能,使之适用于各种软件开发环境。下面将详细阐述 Jenkins 的核心...

    jenkins-2.157-1.1.noarch.rpm

    linux系统下的rpm安装包,在安装包目录下使用root用户运行rpm -ih jenkins-2.157-1.1.noarch.rpm安装程序

    基于kubernetes+docker+jenkins的DevOps实践

    之前自己的项目开发就搭了个cicd的环境,那时候是在本就...jenkins+dockerregistry+docker 见之前的笔记 总的差不多这样:之后对kubernetes的接触后,就在之前的基础上加入kubernetes,其实也就是在服务器拉取镜像docker

    C#-学习笔记

    在深入探讨"C#高级编程"的学习笔记之前,我们先来理解一下C#这门语言的基础。C#(读作"C sharp")是由微软公司开发的一种面向对象的编程语言,主要用于构建Windows应用程序、Web应用以及移动应用。它在.NET框架或...

    【Jenkins学习笔记】玩转持续集成与持续交付

    【Jenkins学习笔记】玩转持续集成与持续交付 Jenkins是开源软件项目中的一个重要工具,专注于持续集成和持续交付。作为一个基于Java开发的可拓展平台,它的主要功能包括自动构建、测试和集成软件项目,同时监控定时...

    k8s1.16的jenkins部署java项目cicd(cd手动)-kubernetes安装包和详细文档笔记整理

    在这个教程中,你将学习如何在Kubernetes集群上部署Jenkins服务器,并配置其工作节点,确保能够执行Java项目的构建任务。 在实现CD(持续部署)的过程中,手动触发是常见的一种方式,尤其是在生产环境,以确保每次...

    SpringBoot3 全栈指南教程-尚硅谷学习笔记 2023年

    这份尚硅谷的学习笔记涵盖了Spring Boot 3的各个方面,无论你是初学者还是有经验的开发者,都能从中受益。通过阅读`.md`和`.pdf`文件,你可以逐步学习并掌握这些知识点,从而提升自己的技能水平。

    jenkins-the-definitive-guide:詹金斯读书笔记

    Jenkins权威指南通过Jenkins可以实现流水线式的软件开发,Jenkins是一个开源的软件,他改变了团队对于Continuous Integration(CI)的认识。这本书将会教你如何使用Jenkins来使你的构建,集成,发布,开发流程自动化,...

    良葛格JAVA 学习笔记

    在《JAVA 学习笔记》中,良葛格深入浅出地讲解了Java编程语言的基础知识和进阶技巧,旨在帮助读者从零开始掌握这一广泛应用于企业级开发的重要语言。以下是该学习笔记中可能涵盖的一些核心知识点: 1. **Java基础...

    certified-jenkins-engineer-study-guide:我准备参加认证的詹金斯工程师考试时所记的笔记

    为了成为一名认证的詹金斯工程师,理解其核心概念、功能和最佳实践至关重要。下面,我们将深入探讨詹金斯的关键知识点,帮助你为考试做好充分准备。 1. **安装与配置**:詹金斯的安装通常涉及下载服务器版本,然后...

    Eclipse 开发学习笔记.pdf

    **Eclipse 开发学习笔记** Eclipse是一款强大的集成开发环境(IDE),主要用于Java应用程序的开发,但通过插件也可以支持其他编程语言,如C++, Python等。这份《Eclipse开发学习笔记》是针对想要深入理解和掌握...

    企业实战持续集成-Jenkins视频教程(必备技能)

    企业实战持续集成-Jenkins视频教程(必备技能)软件版本:Jenkins?1.625? Linux零基础、初学者、中级运维、高级运维,让你轻松突破高薪20K+,通过本套实战课程的全程学习,能力跨越一个台阶,选择和努力决定薪资,向...

Global site tag (gtag.js) - Google Analytics