要使用 GitLab CI/CD,您需要:
- 托管在 Git 存储库中的应用程序代码。
- .gitlab-ci.yml在存储库根目录中调用的文件,其中包含 CI/CD 配置。
在.gitlab-ci.yml文件中,您可以定义:
- 您要运行的脚本。
- 您想要包含的其他配置文件和模板。
- 依赖项和缓存。
- 要按顺序运行的命令和要并行运行的命令。
- 将应用程序部署到的位置。
- 您是要自动运行脚本还是手动触发其中的任何脚本。
脚本被分组到作业中,作业作为更大管道的一部分运行。您可以将多个独立作业分组为按定义顺序运行的阶段。CI/CD 配置至少需要一项未隐藏的作业。
您应该按照适合您的应用程序并根据您希望执行的测试的顺序来组织您的工作。为了可视化该过程,假设您添加到作业的脚本与您在计算机上运行的 CLI 命令相同。
当您将.gitlab-ci.yml文件添加到存储库时,GitLab 会检测到它,并且名为GitLab Runner的应用程序会 运行作业中定义的脚本。
一个.gitlab-ci.yml文件可能包含:
stages:
- build
- test
build-code-job:
stage: build
script:
- echo "Check the ruby version, then build some Ruby project files:"
- ruby -v
- rake
test-code-job1:
stage: test
script:
- echo "If the files are built successfully, test some files with one command:"
- rake test1
test-code-job2:
stage: test
script:
- echo "If the files are built successfully, test other files with a different command:"
- rake test2
在此示例中,阶段中的build-code-job作业build首先运行。它输出作业使用的 Ruby 版本,然后运行rake以构建项目文件。如果此作业成功完成,阶段中的两个test-code-job作业将test并行启动并对文件运行测试。
示例中的完整管道由三个作业组成,分为两个阶段, build以及test. 每次将更改推送到项目中的任何分支时,管道都会运行。
GitLab CI/CD 不仅会执行作业,还会向您显示执行期间发生的情况,就像您在终端中看到的一样:
您为您的应用程序创建策略,GitLab 根据您定义的内容运行管道。GitLab 还会显示您的管道状态:
如果出现任何问题,您可以 回滚更改: