1)DevOps简介
https://www.bagevent.com/event/6243820?bag_track=bagevent #Gdevops2020 https://www.bagevent.com/event/DevOpsDays-SH #DevOpsDays 2019
DevOps 是Development和Operations的组合,也就是开发和运维的简写。 DevOps 是针对企业中的研发人员、运维人员和测试人员的工作理念,是他们在应用开发、代码部署和质量测试等整条生命周期中协作和沟通的最佳实践,DevOps 强调整个组织的合作以及交付和基础设施变更的自动化、从而实现持续集成、持续部署和持续交付。 DevOps 四大平台:代码托管(gitlab/svn)、项目管理(jira)、运维平台(腾讯蓝鲸/开源平台)、持续交付(Jenkins/gitlab)
1.1)什么是DevOps
1.2)为什么要推广DevOps
DevOps 强调团队协作、相互协助、持续发展,然而传统的模式是开发人员只顾开发程序,运维只负责基础环境管理和代码部署及监控等,其并不是为了一个共同的目标而共同实现最终的目的,而DevOps 则实现团队作战,即无论是开发、运维还是测试,都为了最终的代码发布、持续部署和业务稳定而付出各自的努力,从而实现产品设计、开发、测试和部署的良性循环,实现产品的最终持续交付
1.3)传统技术团队
1.4)DevOps技术团队
1.5)什么是持续集成(CI-Continuous integration):
持续集成是指多名开发者在开发不同功能代码的过程当中,可以频繁的将代码行合并到一起并切相互不影响工作。
1.6)什么是持续部署(CD-continuous deployment)
是基于某种工具或平台实现代码自动化的构建、测试和部署到线上环境以实现交付高质量的产品,持续部署在某种程度上代表了一个开发团队的更新迭代速率。
1.7)什么是持续交付(Continuous Delivery)
持续交付是在持续部署的基础之上,将产品交付到线上环境,因此持续交付是产品价值的一种交付,是产品价值的一种盈利的实现。
1.8)常见的部署方式
开发自己上传--最原始的方案 开发给运维手动上传--运维自己手动部署 运维使用脚本复制--半自动化 结合web界面一键部署--自动化
1.9)常见的持续集成开源工具
在公司的服务器安装某种程序,该程序用于按照特定格式和方式记录和保存公司多名开发人员不定期提交的源代码,且后期可以按照某种标记及方式对用户提交的数据进行还原。
1.9.1)CVS(Concurrent Version System)
早期的集中式版本控制系统,现已基本淘汰 会出现数据提交后不完整的情况
1.9.2)SVN(Subversion)--集中式版本控制系统
2000年开始开发,目标就是替代CVS集中式管理,依赖于网络,一台服务器集中管理目前依然有部分公司在使用
1.9.3)Gitlib—分布式版本控制系统
1.10) 版本控制系统分类
1.10.1)集中式版本控制系统
任何的提交和回滚都依赖于连接服务器SVN服务器是单点
1.10.2)分布式版本控制系统
Git在每个用户都有一个完整的服务器,然后在有一个中央服务器,用户可以先将代码提交到本地,没有网络也可以先提交到本地,然后在有网络的时候再提交到中央服务器,这样就大大方便了开发者的代码提交和回滚,而相比CVS和SVN都是集中式的版本控制系统,工作的时候需要先从中央服务器获取最新的代码,改完之后需要提交,如果是一个比较大的文件则需要足够快的网络才能快速提交完成,而使用分布式的版本控制系统,每个用户都是一个完整的版本库,即使没有中央服务器也可以提交代码或者回滚,最终再把改好的代码提交至中央服务器进行合并即可







文章评论