一、简介

GitLab CI 即是 gitlab continuous integration,意思是持续集成。中心思想是当每一次 push 到 gitlab 的时候,都会触发一次脚本执行,脚本的内容可以包括测试,编译,部署等一系列自定义的内容。

二、相关概念

1. 持续集成

持续集成(Continuous Integration,简称CI)指的是,频繁地(一天多次)将代码集成到主干。
持续集成的好处主要有:

  • 快速发现错误
  • 每完成一点更新,就集成到主干,可以快速发现错误,也容易定位错误。
  • 防止分支大幅偏离主干

如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成。

持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。

2. 持续交付

持续交付(Continuous Delivery)指的是,频繁地将软件的新版本,交付给质量团队或者用户,以供评审。如果评审通过,代码就进入生产阶段。

3. 持续部署

持续部署(Continuous Deployment)是持续交付的下一步,指的是代码通过评审以后,自动部署到生产环境。

三、GitLab CI

GitLab 8.0 以后的版本已经默认集成了 GitLab CI,所以不需要我们在费工夫集成了。

1. 组成部分

它主要有两部分组成:

  • gitlab-ci server :负责调度、触发 Runner,以及获取返回的结果,无需用户配置。
  • gitlab-ci runner :负责执行自动化 CI 的宿主,需要用户自己配置,Runner 可以存在多个。

2. 流程图

  • 代码提交并合并到分支
  • 检查是否存在 “.gitlab-ci.yml” 文件,不存在则跳过 CI
  • 如果存在,则调用 Runner
  • Runner 通常会执行一些编译和单元测试等操作,并返回结果
  • 结果成功则可以继续下一步的任务。失败则可以根据 CI 执行的 log 快速定位和修复问题

其它:

GitLab CI 安装步骤图文详解:https://blog.csdn.net/afei__/article/details/82413724

GitLab CI 介绍相关推荐

  1. GitLab CI流水线配置文件.gitlab-ci.yml详解(三)

    GitLab CI流水线配置文件.gitlab-ci.yml详解 - contents:: 目录 本文讲解在 :ref:GitLab的汉化与CI持续集成gitlab-runner的配置 <con ...

  2. Gitlab CI(一)

    Gitlab CI流程设计与思考 repo添加ci完整流程 新增Repo CI注册需要开发者提供的信息和我们这边需要反馈的信息. CI注册需要提供的信息: 1. Repo url 2. 需要注册哪些C ...

  3. GitLab CI 自动部署netcore web api 到Docker

    前端篇文章中,我们已经成功的将asp.net core webapi在Docker容器中运行,并且部署了一套自己的GitLab环境. .Net & Docker(二)5分钟快速用Docker部 ...

  4. gitlab介绍、安装及gitlab CI、与jenkins的对比

    gitlab介绍.安装及gitlab CI.与jenkins的对比

  5. 【GitLab】GitLab CI/CD 模型部署自动化超详细介绍

    文章目录 一.GitLab 二.GitLab-CI/CD 2.1 gitlab-ci.yml 2.1.1 基础概念 2.1.2 创建 yml 文件 2.1.3 yml 文件中的关键字 2.2 GitL ...

  6. 指定的网络文件夹目前是以其他用户名和密码进行映射的_使用 GitLab CI 与 Argo CD 进行 GitOps 实践

    在现在的云原生世界里面 GitOps 不断的被提及,这种持续交付的模式越来越受到了大家的青睐,我们前面也有文章详细讲解了 GitOps 的相关概念,在网上也可以找到很多关于它的资源,但是关于 GitO ...

  7. Gitlab CI 持续集成的完整实践

    来源:https://dwz.cn/mWyVHoSm 借着公司代码库迁移到私有Gitlab的契机,我接下持续集成的工作,实现了对Python服务端代码的单元测试.静态代码分析和接口测试的持续集成.总体 ...

  8. jenkins 增量发布插件_CI/CD工具:Jenkins还是GitLab CI/CD?

    十年来,持续集成(Continuous Integration,CI)和持续交付(Continuous Delivery,CD)领域都取得了很大的进步.DevOps 测试的兴起导致了对 CI/CD 工 ...

  9. GitLab CI/CD

    GitLab CI/CD 是一个内置在GitLab中的工具,用于通过持续方法进行软件开发: Continuous Integration (CI)  持续集成 Continuous Delivery ...

最新文章

  1. 从0开始学习GitHub系列之「Git 速成」
  2. SQL Server2019数据库创建数据库并关联表空间、启用快照隔离级别实例演示,使用MSSM工具创建sqlserver数据库方法
  3. Vim技能修炼教程(16) - 浮点数计算函数
  4. C#文件和文件文件夹按时间、名称排序-顺序与倒序
  5. markdown如何设置图片大小_不会吧,还不会用markdown排版吗
  6. 构建高并发高可用的电商平台架构实践 转载
  7. SCDPM 2012R2之保护SQL SERVER
  8. 阿里云云计算 46 阿里云DDoS防护
  9. 第三讲 信息资产的分类与控制
  10. 钢绞线的弹性模量的计算方法_钢绞线弹性模量的理论计算及其影响因素分析
  11. 关于一个博客系统的 整体架构与技术
  12. 50个启发你灵感的黄色系网站设计
  13. 「津津乐道播客」#282 科技乱炖:被电子发票干掉的顺丰?
  14. 软件的接口设计图_面向服务架构(SOA)的汽车软件分析和设计
  15. 上百本中文书籍中对《人月神话》的引用(4)
  16. ARM汇编之TCP Bind Shell
  17. 学习ARM开发(4)
  18. 详细到吐血 —— 树莓派驱动开发入门:从读懂框架到自己写驱动
  19. 云计算现在前景如何?
  20. 从语音信号处理角度解读mic规格书

热门文章

  1. LeetCode刷题笔记 二分查找 局部有序
  2. python编程midi键盘按键_Python中捕获键盘的方式详解
  3. 博弈论夏普利值!提高机器学习可解释性的新方法!
  4. Docker学习笔记 (4)
  5. 【STM32H7教程】第7章 STM32H7下载和调试方法(IAR8)
  6. 一个产品经理,写下的30条调皮经验
  7. @Transaction
  8. web前端开发新技术,CSS介绍
  9. 文件运行出现乱码问题的解决方法
  10. mysql call_mysql call用法:调用存储过程