一、.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管道配置包括下述两个部分:
全局关键字(

本文详细介绍了GitLab中.gitlab-ci.yml文件的作用及配置选项,包括stage、script、retry、image、cache、only/except、when等关键字的用法。同时讲解了CI/CD变量的预定义、自定义以及流水线的类型和触发方式,如DAG流水线和定时触发。
最低0.47元/天 解锁文章
1103

被折叠的 条评论
为什么被折叠?



