GitLab中的.gitlab-ci.yml文件

本文详细介绍了GitLab中.gitlab-ci.yml文件的作用及配置选项,包括stage、script、retry、image、cache、only/except、when等关键字的用法。同时讲解了CI/CD变量的预定义、自定义以及流水线的类型和触发方式,如DAG流水线和定时触发。
摘要由CSDN通过智能技术生成

一、.gitlab-ci.yml文件的介绍

GitLab中某一个项目下的.gitlab-ci.yml 文件主要是用于告诉执行器(GitLab Runner实例)需要做哪些事情。当文件被提交到GitLab远程仓库以后,在Pipelines处就会自动产生一条流水线(Pipeline)记录。默认情况下流水线有 build 、test 、deploy 三个阶段,即构建测试 部署 ,未被使用的阶段将会被自动忽略。

前面我们构建的.gitlab-ci.yml文件里面的内容如下:

job1:
  script:
    - echo 'hello world'

该自定义的job未明确指定属于哪个阶段,则默认属于测试阶段。 

一个.gitlab-ci.yml文件可能包含下述内容:

stages:
  - build
  - test

build-code-job:
  stage: build
  script:
    - echo "Build some project files."

test-code-job1:
  stage: test
  script:
    - echo "If the files are built successfully, test some files with one command."

test-code-job2:
  stage: test
  script:
    - echo "If the files are built successfully, test other files with a different command."

在这个文件中,我们可以定义下述这些事情: 

  • 要运行的脚本
  • 要包含的其它配置文件和模板
  • 依赖性和缓存
  • 您希望按顺序运行的命令和您希望并行运行的命令
  • 将应用程序部署到的位置
  • 您是想自动运行脚本还是手动触发它们

脚本(script)被分组到作业(jobs)中,而作业在一个大的流水线(pipeline)作为它的一部分运行。我们可以将多个独立作业分组到按已定义顺序运行的阶段(stages)中,CI/CD配置至少需要一个未隐藏的作业。

当添加一个gitlab-ci.yml类型的文件到项目仓库中时,GitLab就会检测到它,这时一个名为GitLab Runner的应用程序就会去运行作业中定义的脚本。

在这个示例中,属于build阶段名为“build-code-job”的作业会被首先运行。当“build-code-job”这个作业成功完成后,测试阶段的两个test-code-job作业将并行启动,

示例中的整个流水线由三个作业组成,分为构建和测试两个阶段。每当将更改推送到项目中的任何分支时,流水线就会运行。

GitLab CI/CD不仅可以执行作业,还显示执行过程中发生的事情。当我们点击了上图中的“build-code-job”时,就会显示如下所示的界面:

GitLab中.gitlab-ci.yml文件的介绍可以参考其官方文档:

https://docs.gitlab.com/15.6/ee/ci/yaml/gitlab_ci_yaml.html

二、.gitlab-ci.yml文件的选项配置

GitLab CI/CD管道配置包括下述两个部分:

全局关键字(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值