一、DevOps简介
1、概念
DevOps是Development和Operations的组合,也就是开发和运维的简写。(研发、运维一体,持续集成,持续部署,持续交付)
DevOps集文化理念、实践与工具于一身,可以提高组织高速交付应用程序和服务的能力,能够帮助企业更快速的发展和改进产品,让企业更好的服务于客户。
DevOps是针对开发人员、运维人员、测试人员的工作理念。强调整个组织的合作以及交付和基础设施变更的自动化、从而实现持续集成、持续部署和持续交付。
2、平台
- 代码托管:gitlab/svn
- 项目管理(jira/禅道/Teambiton)
- 运维平台(腾讯蓝鲸/自主研发平台)
- 持续交付(Jenkins/gitlab)
3、优势
- 速度:应用版本快速的迭代更新
- 快速交付:更快的将应用交付至生成环境
- 可靠性:保证应用交付的结果是成功的
- 增强合作:建立适应DevOps文化模式的团队,开发人员和运维人员协同合作
- 安全性:在快速迭代的同时保证软件质量(测试)
二、CI/CD简介
CI(Continuous Integration):持续集成。
持续集成是指多名开发者在开发不同功能代码的过程当中,可以频繁的将代码合并到一起并且互相不影响工作。
CD(Continuous Deployment):持续部署。
是基于某种工具(Jenkins)或平台(公司自己开发的)实现代码自动化的构建、测试和部署到线上环境以实现交付高质量的产品,持续部署在某种程度上代表了一个开发团队的更新迭代速率。
三、企业级代码部署
1、灰度部署
2、蓝绿环境
3、A/B测试
四、Gitlab实现持续集成
Gitlab:基于git的一个私有代码仓库
下载:
Git命令的使用:
git工作区和暂存区:
五、Jenkins持续集成
Jenkins简介:
Jenkins是一款开源CI & CD软件,用于自动化各种任务,包括构建、测试和部署软件。使用java语言编写。插件化,目前拥有1500+插件实现各种功能。
Jenkins安装: jenkins.io
插件管理及基础配置
Jenkins基于shell实现简单代码部署: