当前位置:网站首页 > 持续集成与持续测试 > 正文

【DevOps】持续集成_devops 持续集成

大家好,我是高胜寒,一个在教培行业不忘初心的人,本文是【循序渐进学运维】DevOps工具篇的第2篇文章

【循序渐进学运维】DevOps工具篇 主要针对的是DevOps常用的工具,比如jenkins,gitlab, docker等工具的结合使用。

什么是集成

开发人员写代码,代码写完后直接给客户吗? 显然不是,客户需要的是软件而不是一堆代码,而一个软件不是一个开发完成的,是一个团队的开发完成的,这么多人的代码不可能自己组合一起, 所以当我们想把每个程序员写好的代码组合在一起,这个过程就叫做集成。

一个学员在做项目,他们的工作流程是,先开发一个月,一个月后,在召集团队里的精英来做集成,把最基本的流程跑通,通常需要花3-4天时间,如果改动量比较大,可能需要一两周时间。

持续集成的想法很好,但总不能有人提交了代码,就有个负责人去集成把,这种工作中肯定是行不通的,所以就有人编写了脚本,定期去源码服务器拉取代码,出现程序更新时,就自动完成构建。

这个脚本也慢慢发展,变成了工具,能够适用于大部分的开发语言。

什么是持续集成

通过持续集成,一个开发团队可以快速的从一个功能到另一个功能,而我们之前提到的敏捷开发,很大一部分就是归功于持续集成。

持续集成的六个步骤:

在这里插入图片描述
代码从提交到部署到生产环境,一共经历了六个步骤:

  1. 提交
  2. 测试(第一轮)
  3. 构建
  4. 测试(第二轮测试)
  5. 部署
  6. 回滚
1. 提交

流程的第一步,主要是开发者向代码仓库提交代码,代码仓库或者叫代码托管平台,目前常见的有 github, gitlab, bitbucket,开源中国代码托管,coding.net,CSDN代码托管,京东代码托管

我们在公司里一般是搭建自己的gitlab,来进行代码管理。自己搭建在公司内部服务器,更加安全。当然 在github上用户也可以创建私有项目, 还要一些小公司会放在阿里云code代码托管平台上。

2. 测试(第一轮)

代码仓库对commit操作配置了钩子(hook),只要提交代码或者合并到主干,就会跑自动化测试。

3. 构建
4. 测试(第二轮测试)

构建完成进行第二轮测试,在第一轮中测试过的内容可以不用测试。也可以把构建放在最前面,把两次测试合并。

5. 部署

当第二轮测试结束,没有问题之后,当前的代码就 可以直接部署了,将当前版本的所有文件打包存档。 打包直接用tar打包即可, 然后发送到生产服务器。

  1. 回滚
    部署完成之后,进行在线访问测试,一旦发现当前版本有问题,就要回滚到上一个版本的构建结果, 可以使用我们之前学习过的符号链接,ln 来指向上一个版本。
持续集成的组成要素
  • 一个自动化构建过程,从检出代码,编译构建,运行测试,结果记录,测试统计等都是自动化完成的,无需人工干预
  • 在公司里,代码存储库,一般使用svn或者git。
  • 一个持续集成服务器,在公司我们用的最多的是jenkins。jenkins的配置和使用方法都很简单。

集成一定是集成团队的代码,而不是一个人的代码。

持续集成有什么好处
  • 快速返现错误,没完成一点就进行更新,集成到主干,可以很容易的发现和定位错误
  • 减少重复性的工作
  • 防止分支偏离主干,如果不做经常性的集成,主干一直在更新,会导致以后的集成难度变大。
总结

本文主要讲述了

  1. 什么是集成
  2. 什么是持续集成
  3. 持续集成的步骤
  4. 持续集成的优势

我是高胜寒,一个在教培行业不忘初心的人,下一篇文章,我们再见!

到此这篇【DevOps】持续集成_devops 持续集成的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 嵌入式系统上持续集成怎么做?有哪些好用的测试工具推荐?_嵌入式软件集成2024-10-30 21:08:43
  • 再谈持续测试_艾森克情绪稳定性测验2024-10-30 21:08:43
  • 自动化测试与持续集成:加速软件开发的利器_实现自动化测试2024-10-30 21:08:43
  • DevOps系列:CICD流程建设之持续集成实践指南2024-10-30 21:08:43
  • CI/CD持续测试的未来..._ci cd测试2024-10-30 21:08:43
  • 0. 江协科技/江科大-STM32入门教程-各章节详细笔记-查阅传送门-STM32标准库开发2024-10-30 21:08:43
  • jenkins+docker实现可持续自动化部署springboot项目_docker jenkins持续集成2024-10-30 21:08:43
  • 【软件测试知识】什么是持续集成?_什么叫持续集成2024-10-30 21:08:43
  • 持续集成与测试自动化_持续集成与测试自动化的关系2024-10-30 21:08:43
  • 持续集成——web自动化测试集成实战_持续集成测试工具2024-10-30 21:08:43
  • 全屏图片