(一)DevOps----介绍 CI/CD

一:DevOps 简介

DevOps 是 Development 和 Operations 的组合,也就是开发和运维的简写。
DevOps 是针对企业中的研发人员、运维人员和测试人员的工作理念,是他们在应用开发、代码部署和质量测试等整条生命周期中协作和沟通的最佳实践,DevOps 强调整个组织的合作以及交付和基础设施变更的自动化、从而实现持续集成持续部署持续交付

DevOps 四大平台

  1. 代码托管(gitlab/svn)、
  2. 项目管理(jira)付费
  3. 运维平台(腾讯蓝鲸/开源平台)、
  4. 持续交付(Jenkins/gitlab)

在这里插入图片描述

为什么要推广 DevOps?
DevOps 强调团队协作、相互协助、持续发展,然而传统的模式是开发人员只顾开发程序,运维只负责基础环境管理和代码部署及监控等,其并不是为了一个共同的目标而共同实现最终的目的,
而 DevOps 则实现团队作战,即无论是开发、运维还是测试,都为了最终的代码发布、持续部署和业务稳定而付出各自的努力,从而实现产品设计、开发、测试和部署的良性循环,实现产品的最终持续交付

传统的技术团队
在这里插入图片描述
DevOps 技术团队在这里插入图片描述

持续集成 CI,持续部署 CD,持续部署

  1. 什么是持续集成(CI-Continuous integration):
    持续集成是指**多名开发者在开发不同功能代码的过程当中,可以频繁的将代码行合并到一起**并切相互不影响工作。
  2. 什么是持续部署(CD-continuous deployment):
    基于某种工具或平台实现代码自动化的构建测试和部署到线上环境以实现交付高质量的产品,持续部署在某种程度上代表了一个开发团队的更新迭代速率。
  3. 什么是持续交付(Continuous Delivery):
    持续交付是在持续部署的基础之上,将产品交付到线上环境,因此持续交付是产品价值的一种交付,是产品价值的一种盈利的实现
    在这里插入图片描述
    在这里插入图片描述

常见的部署方式:

开发自己上传–最原始的方案

开发给运维手动上传–运维自己手动部署

运维使用脚本复制–半自动化

结合 web 界面一键部署–自动化

常见的持续集工具

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

  1. 集中式
    1.1 CVS(Concurrent Version System):早期的集中式版本控制系统,现已基本淘汰会出现数据提交后不完整的情况
    2.2 SVN(Subversion)–集中式版本控制系统
    2000 年开始开发,目标就是替代 CVS 集中式管理,依赖于网络,一台服务器集中管理目前依然有部分公司在使用
  2. 分布式
    Gitlib分布式版本控制系统
    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年,GitHub网站上线了,它为开源项目免费提供 Git存储,无数开源项目开始迁移至 GitHub,包括 jQuery,PHP,Ruby 等等

gitlab 企业版
在这里插入图片描述

版本控制系统分类:

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值