最新最全的GitLab CI/CD 关键词解析请查阅该专栏

GitLab CI/CD 关键词

GitLab的CI/CD 完全是由.gitlab-ci.yml  文件内容决定的

GitLab的CI/CD的具体内容是由.gitlab-ci.yml文件定义的,
一个在GitLab的项目,项目根目录只有有.gitlab-ci.yml文件,并且配置了Runner,那么每次提交代码
都会触发CI的pipline
.gitlab-ci.yml文件是告诉GitLab的runner去做什么在每次触发后,runner默认有三个阶段,
build,test,deploy,你不必每次编写都使用三个阶段,如果一个阶段没有任务,可以直接忽略它

因为.gitlab-ci.yml是存在于项目中的,所有可以进行版本,分支控制,不同的分支,不同的版本可以有不同.gitlab-ci.yml内容
不用的任务

.gitlab-ci.yml 文件是使用YAML的文件格式来编写的,只允许空格,不允许Tabs

在项目根目录创建一个文件,下面是一个Ruby的项目

before_script:- apt-get update -qq && apt-get install -y -qq sqlite3 libsqlite3-dev nodejs- ruby -v- which ruby- gem install bundler --no-document- bundle install --jobs $(nproc)  "${FLAGS[@]}"rspec:script:- bundle exec rspecrubocop:script:- bundle exec rubocop

这是对大多数Ruby应用都适用的简单配置

定义了两个任务 rspec和rubocop 分别会执行不同的脚本

在每次任务执行之前,定义的before_script脚本都会先被执行

.gitlab-ci.yml可以设置一些任务,限定他们以什么顺序,怎么去执行命令,脚本.

那些带有名字的高等级任务,必须包含一个script关键字
这下脚本 都会在Runnner中执行

GitLab 提供了一个验证.gitlab-ci.yml文件的工具, 在项目名的路径后面加上 -/ci/lint 即可访问

如果项目中有嵌套的微仓库 需要配置一下才能自动运行
Settings > Repository > Pull from a remote repository > Trigger pipelines for mirror updates.

在GitLab中Runnner是运行那些你再.gitlab-ci.yml中定义的任务,一个Runner可能是一个虚拟机,
一个VPS,一个Docker容器,或者一个集群,GitLab与Runner通信通过API

安装Runner
配置Runner

GitLab CI/CD 配置指南 .gitlab-ci.yml文件的配置相关推荐

  1. 手把手教学借助CI做代码格式审查、编译审查 | CI/CD搭建流程 — GitLab篇

    本文分享自中移OneOS微信公众号< CI/CD搭建流程 - GitLab篇>,作者 Kisann. 让GitLab CI/CD做什么 嵌入式软件开发领域高频使用的开发语言是C语言,在大型 ...

  2. maven 打包数据库加密_SpringBoot项目application.yml文件数据库配置密码加密的方法...

    在Spring boot开发中,需要在application.yml文件里配置数据库的连接信息,或者在启动时传入数据库密码,如果不加密,传明文,数据库就直接暴露了,相当于"裸奔"了 ...

  3. Spring Boot项目application.yml文件数据库配置密码加密

    在Spring boot开发中,需要在application.yml文件里配置数据库的连接信息,或者在启动时传入数据库密码,如果不加密,传明文,数据库就直接暴露了,相当于"裸奔"了 ...

  4. Gitlab CI/CD 中预设变量 .gitlab-ci.yml 的预定义变量

    文章有更新, 更加详细和更常用的预设变量可以参考以下两篇新的文章 GitLab CI/CD关键词(五):变量 variables GitLab CI/CD中的常用预设变量 GitLab CI / CD ...

  5. ci/cd heroku_在GitLab上设置CI / CD以在Heroku上部署Python Flask应用程序

    ci/cd heroku Recently I came across a challenge to deploy a Python Flask web application to Heroku. ...

  6. CI/CD之Jenkins+Gitlab

    文章目录 一.Jenkinx+Gitlab持续集成环境概述 (1)什么是CI/CD (2)Jenkins概述 (3)Gitlab概述 (4)Gitlab和Github的区别 (5)Jenkins配合G ...

  7. ci/cd自动化测试_自动化CI / CD并花费更多时间编写代码

    ci/cd自动化测试 This article was sponsored by Microsoft Visual Studio App Center. Thank you for supportin ...

  8. Spring Boot——Druid在application.yml文件中配置【spring.datasource.druid.aop-patterns】无效解决方案

    问题描述 在使用aop-patterns配置的时候发现Spring监控无效 Druid版本:1.1.22 如果SpringBoot的配置使用的是properties文件,该配置正常. 如果使用yml作 ...

  9. 获取application.yml文件中配置参数的两个方法

    application.yml文件内容 第一种(适用于获取少量配置参数): @Value("${man.name}") private String name; 第二种(适用于获取 ...

  10. yml配置oracle连接,springboot yml 文件配置oracle,提示账号密码错误

    最近使用Spring boot,本来一直连接的是mysql数据库,一直没问题.昨天在更换了oracle数据库后,一直提示账号密码不正确,登录被拒绝.检查多次,检查账号密码一切正常,但就是连接不上ora ...

最新文章

  1. 英语中那些缺钱的表达~
  2. jquery 3D分页翻转滑块
  3. 【深度学习】——常见深度学习模型总结、anchor-free和anchor-based
  4. linux 驱动入门 魏清,Linux下的SPI总线驱动(三)
  5. 我就是不敢的openeim002
  6. 自然语言处理——分词系统(双向最大匹配)
  7. zemax中如何和matlab中通信,如何在ZEMAX与MATLAB之间通信.doc
  8. MP1655GG-Z MPS/美国芯源 MOSFET 的开关模式转换器 资源 方案
  9. Banner打造广告自动轮播图
  10. 高德地图大头针功能_iOS高德地图大头针的运用
  11. 使用GitHub Actions实现Hexo博客自动发布
  12. R软件和RStudio的入门介绍
  13. 微星B550M MORTAR WIFI 的蓝牙模块消失的解决办法
  14. faster rcnn解读
  15. 适用于Android智能手机的6大数据保护应用
  16. XeLaTeX下LaTeX中文字体加粗解决方案
  17. 【分享】QT读取EXCEL文件(附代码)
  18. 微雪2.9寸墨水屏在普中Z100(stm32f103zet6)板上点亮
  19. 推荐算法遇到后悔药:评蚂蚁的ESCM2模型
  20. 循环冗余校验(CRC)——C语言版

热门文章

  1. 使用电信光猫加路由器实现内网穿透,外网访问内网
  2. Camera项目问题--第三方调用点击intent多次弹出问题
  3. 应届生面试的5大技巧,附600字自我介绍范文
  4. Androild Killer无法运行,出现Runtime error 217
  5. java联网游戏_Java实现简易版联网坦克对战小游戏(附源码)
  6. 7-7 六度空间 (30分)
  7. Linux python 虚拟环境搭建与配置
  8. zkPorter:Layer-2 的可组合可扩展性
  9. 微信扫一扫二维码直接下载APP的实现方式
  10. 电视盒子刷linux树莓派,变废为宝二:闲置“树莓派”开发板秒变电视盒子!