GitLab CI 介绍
一、简介
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 介绍相关推荐
- GitLab CI流水线配置文件.gitlab-ci.yml详解(三)
GitLab CI流水线配置文件.gitlab-ci.yml详解 - contents:: 目录 本文讲解在 :ref:GitLab的汉化与CI持续集成gitlab-runner的配置 <con ...
- Gitlab CI(一)
Gitlab CI流程设计与思考 repo添加ci完整流程 新增Repo CI注册需要开发者提供的信息和我们这边需要反馈的信息. CI注册需要提供的信息: 1. Repo url 2. 需要注册哪些C ...
- GitLab CI 自动部署netcore web api 到Docker
前端篇文章中,我们已经成功的将asp.net core webapi在Docker容器中运行,并且部署了一套自己的GitLab环境. .Net & Docker(二)5分钟快速用Docker部 ...
- gitlab介绍、安装及gitlab CI、与jenkins的对比
gitlab介绍.安装及gitlab CI.与jenkins的对比
- 【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 ...
- 指定的网络文件夹目前是以其他用户名和密码进行映射的_使用 GitLab CI 与 Argo CD 进行 GitOps 实践
在现在的云原生世界里面 GitOps 不断的被提及,这种持续交付的模式越来越受到了大家的青睐,我们前面也有文章详细讲解了 GitOps 的相关概念,在网上也可以找到很多关于它的资源,但是关于 GitO ...
- Gitlab CI 持续集成的完整实践
来源:https://dwz.cn/mWyVHoSm 借着公司代码库迁移到私有Gitlab的契机,我接下持续集成的工作,实现了对Python服务端代码的单元测试.静态代码分析和接口测试的持续集成.总体 ...
- jenkins 增量发布插件_CI/CD工具:Jenkins还是GitLab CI/CD?
十年来,持续集成(Continuous Integration,CI)和持续交付(Continuous Delivery,CD)领域都取得了很大的进步.DevOps 测试的兴起导致了对 CI/CD 工 ...
- GitLab CI/CD
GitLab CI/CD 是一个内置在GitLab中的工具,用于通过持续方法进行软件开发: Continuous Integration (CI) 持续集成 Continuous Delivery ...
最新文章
- 从0开始学习GitHub系列之「Git 速成」
- SQL Server2019数据库创建数据库并关联表空间、启用快照隔离级别实例演示,使用MSSM工具创建sqlserver数据库方法
- Vim技能修炼教程(16) - 浮点数计算函数
- C#文件和文件文件夹按时间、名称排序-顺序与倒序
- markdown如何设置图片大小_不会吧,还不会用markdown排版吗
- 构建高并发高可用的电商平台架构实践 转载
- SCDPM 2012R2之保护SQL SERVER
- 阿里云云计算 46 阿里云DDoS防护
- 第三讲 信息资产的分类与控制
- 钢绞线的弹性模量的计算方法_钢绞线弹性模量的理论计算及其影响因素分析
- 关于一个博客系统的 整体架构与技术
- 50个启发你灵感的黄色系网站设计
- 「津津乐道播客」#282 科技乱炖:被电子发票干掉的顺丰?
- 软件的接口设计图_面向服务架构(SOA)的汽车软件分析和设计
- 上百本中文书籍中对《人月神话》的引用(4)
- ARM汇编之TCP Bind Shell
- 学习ARM开发(4)
- 详细到吐血 —— 树莓派驱动开发入门:从读懂框架到自己写驱动
- 云计算现在前景如何?
- 从语音信号处理角度解读mic规格书