持续集成

177 阅读2分钟

一、DevOps简介

1、概念

DevOps是Development和Operations的组合,也就是开发和运维的简写。(研发、运维一体持续集成持续部署持续交付

DevOps集文化理念、实践与工具于一身,可以提高组织高速交付应用程序和服务的能力,能够帮助企业更快速的发展和改进产品,让企业更好的服务于客户。

DevOps是针对开发人员、运维人员、测试人员的工作理念。强调整个组织的合作以及交付和基础设施变更的自动化、从而实现持续集成、持续部署和持续交付。

2、平台

  • 代码托管:gitlab/svn
  • 项目管理(jira/禅道/Teambiton)
  • 运维平台(腾讯蓝鲸/自主研发平台)
  • 持续交付(Jenkins/gitlab)

3、优势

  • 速度:应用版本快速的迭代更新
  • 快速交付:更快的将应用交付至生成环境
  • 可靠性:保证应用交付的结果是成功的
  • 增强合作:建立适应DevOps文化模式的团队,开发人员和运维人员协同合作
  • 安全性:在快速迭代的同时保证软件质量(测试)

image.png

二、CI/CD简介

CI(Continuous Integration):持续集成。

持续集成是指多名开发者在开发不同功能代码的过程当中,可以频繁的将代码合并到一起并且互相不影响工作

image.png

CD(Continuous Deployment):持续部署。

是基于某种工具(Jenkins)或平台(公司自己开发的)实现代码自动化的构建、测试和部署到线上环境以实现交付高质量的产品,持续部署在某种程度上代表了一个开发团队的更新迭代速率。

image.png

image.png

image.png

image.png

三、企业级代码部署

1、灰度部署

image.png

image.png

2、蓝绿环境

image.png

image.png

3、A/B测试

image.png

image.png

四、Gitlab实现持续集成

Gitlab:基于git的一个私有代码仓库

下载:

image.png

Git命令的使用:

image.png

image.png

image.png

image.png

git工作区和暂存区

git工作区和暂存区.png

五、Jenkins持续集成

image.png Jenkins简介:

image.png

Jenkins是一款开源CI & CD软件,用于自动化各种任务,包括构建、测试和部署软件。使用java语言编写。插件化,目前拥有1500+插件实现各种功能。

Jenkins安装: jenkins.io

插件管理及基础配置

Jenkins基于shell实现简单代码部署:

image.png