在开始使用 CI/CD 功能之前,请确保:
Maintainer
权限在开始使用 CI/CD 功能前,需要:
.codechina-ci.yml
文件,并在其中配置好你的流水线任务当你往项目仓库中推送文件的时候,runners 会运行你的流水线任务,运行的结果会显示在流水线中。
runner 是运行 CI/CD 流水线任务的代理,建议你使用我们提供的共享 runners,你可以在项目设置 - DevOps
中展开 Runners 查看目前可用的 runners。
你至少需要一个活跃的 runner,runner 旁边的绿色圆圈表示其是一个活跃的 runner,可用于处理你的流水线任务。
.codechina-ci.yml
文件.codechina-ci.yml
是一个yaml
格式的文件,可用于配置 CI/CD 的特定指令。
在这个文件中,你可以定义:
假设你希望在提交到除默认分支之外的任何分支时运行一系列的测试,当在提交到默认分支的时候,除了运行相同的测试外,还希望发布你的应用程序。
所有这些都可以在.codechina-ci.yml
中进行配置。
你可以通过以下步骤创建一个.codechina-ci.yml
文件:
.codechina-ci.yml
,模板类型也选择为.codechina-ci.yml
并选择相应的模板,或者你也可以将以下示例配置文件粘贴进去build-job:
stage:build
script:
-echo "Hello, $GITLAB_USER_LOGIN!"
test-job1:
stage:test
script:
-echo "This job tests something"
test-job2:
stage:test
script:
-echo "This job tests something, but takes more time than test-job1."
-echo "After the echo commands complete, it runs the sleep command for 20 seconds"
-echo "which simulates a test that runs 20 seconds longer than test-job1"
-sleep20
deploy-prod:
stage:deploy
script:
-echo "This job deploys something from the $CI_COMMIT_BRANCH branch."
$GITLAB_USER_LOGIN
和$CI_COMMIT_BRANCH
是在运行流水线任务时填充的预定义变量。
4. 单击提交变更
按钮
.codechina-ci.yml
小贴士如果您希望 runner 使用 Docker 容器来运行流水线任务,在.codechina-ci.yml
文件以包含对应的镜像名称即可:
default:
image:ruby:2.7.2
此命令告诉 runner 使用来自 Docker Hub 的 Ruby 镜像并在从该镜像生成的容器中运行流水线任务。
此过程不同于将应用程序构建为 Docker 容器。您的应用程序无需构建为 Docker 容器即可在 Docker 容器中运行 CI/CD 的流水线任务。
.codechina-ci.yml
文件,请使用每个项目中都可用的CI Lint 工具。.codechina-ci.yml
文件的图形表示.codechina-ci.yml
语法相关的内容,请参阅 该.codechina-ci.yml
语法说明。当你提交了代码变更后,流水线就会自动运行。可以通过以下方式要查看你的流水线:
DevOps > 流水线
你会看到一个具有 3个 stages 的 pipeline:
deploy-prod
如果流水线任务的状态是stuck
,请检查项目的 Runner 是否配置正确。