首页 Jenkins教程常见的持续集成工具

CI/CD介绍

Gitlab安装部署

运维派隶属马哥教育旗下专业运维社区,是国内成立最早的IT运维技术社区,欢迎关注公众号:yunweipai
领取学习更多免费Linux云计算、Python、Docker、K8s教程关注公众号:马哥linux运维

常见的持续集成开源工具

在公司的服务器安装某种程序,该程序用于按照特定格式和方式记录和保存公司多名开发人员不定期提交的源代码,且后期可以按照某种标记及方式对用户提交的数据进行还原。

CVS(Concurrent Version System)

早期的集中式版本控制系统,现已基本淘汰

会出现数据提交后不完整的情况

SVN(Subversion)–集中式版本控制系统

2000年开始开发,目标就是替代CVS集中式管理,依赖于网络,一台服务器集中管理目前依然有部分公司在使用

Gitlab—分布式版本控制系统

Linus在1991年创建了开源的Linux内核,从此Linux便不断快速发展,不过 Linux的壮大是离不开全世界的开发者的参与,这么多人在世界各地为Linux编写代码,那Linux内核的代码是如何管理的呢?事实是,在2002年以前,世界各地的志愿者把源代码文件通过diff的方式发给Linus,然后由Linus本人通过手工方式合并代码!你也许会想,为什么Linus不把Linux代码放到版本控制系统里呢?不是有CVS、SVN这些免费的版本控制系统吗?因为Linus坚定地反对CVS和SVN,这些集中式的版本控制系统不但速度慢,且必须联网才能使用,但是也有一些商用的版本控制系统,虽然比CVS、SVN好用,但那是付费的,和Linux的开源精神不符。

不过,到了2002年,Linux系统已经发展了十年了,代码库之大让Linus很难继续通过手工方式管理了,社区的弟兄们也对这种方式表达了强烈不满,于是Linus选择了一个商业的版本控制系统BitKeeper,BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统。

但是安定团结的大好局面在2005年就被打破了,原因是Linux社区牛人聚集,不免沾染了一些梁山好汉的江湖习气,开发Samba的Andrew试图破解BitKeeper的协议(这么干的其实也不只他一个),被BitMover公司发现了(监控工作做得不错!),于是BitMover公司怒了,要收回Linux社区的免费使用权,这时候其实Linus可以向BitMover公司道个歉,保证以后严格管教弟兄们,但这是不可能的,而且实际情况是Linus自己花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!一个月之内,Linux内核的源码已经由Git管理了!牛是怎么定义的呢?大家可以体会一下,然后Git迅速成为最流行的分布式版本控制系统。

尤其是2008年,使用Ruby on Rails编写而成GitHub网站上线了,它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,包括jQuery,PHP,Ruby等等。GitHub同时提供付费账户和免费账户。这两种账户都可以创建公开的代码仓库,只有付费账户可以创建私有的代码仓库。

常见的持续集成工具插图

Gitlab解决了这个问题, 可以在上面创建免费的私人repo。GitLab由乌克兰程序员DmitriyZaporozhets和ValerySizov开发,它使用Ruby语言写成。后来,一些部分用Go语言重写,是完全免费的开源软件,按照MIT许可证分发。2013年7月,产品被拆分为:GitLabCE(社区版)和GitLabEE(企业版),2014年2月,GitLab宣布采用开放核心业务模式。GitLabEE设置在专有许可证下,并且包含CE版本中不存在的功能。GitLabCE是使用MIT许可证的基于网络的Git仓库管理工具,且具有wiki和issue跟踪功能。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。

gitlab企业版:

常见的持续集成工具插图1

版本控制系统分类

集中式版本控制系统

常见的持续集成工具插图2

任何的提交和回滚都依赖于连接服务器SVN服务器是单点

分布式版本控制系统

Git在每个用户都有一个完整的服务器,然后在有一个中央服务器,用户可以先将代码提交到本 地,没有网络也可以先提交到本地,然后在有网络的时候再提交到中央服务器,这样就大大方便了开发者,而相比CVS和SVN都是集中式的版本控制系统,工作的时候需要先从中央服务器获 取最新的代码,改完之后需要提交,如果是一个比较大的文件则需要足够快的网络才能快速提交完成,而使用分布式的版本控制系统,每个用户都是一个完整的版本库,即使没有中央服务器也可以提交代码或者回滚,最终再把改好的代码提交至中央服务器进行合并即可。

常见的持续集成工具插图3

本文链接:https://www.yunweipai.com/35646.html

CI/CD介绍

Gitlab安装部署

网友评论comments

发表回复

您的电子邮箱地址不会被公开。

暂无评论

Copyright © 2012-2022 YUNWEIPAI.COM - 运维派 京ICP备16064699号-6
扫二维码
扫二维码
返回顶部