为了组织我们的构建、测试和部署配置,我们需要知道如何将作业放入各个阶段。
- 查看默认的构建阶段
- 声明自定义构建阶段和顺序
- 指定使用特定的 Runner
1. 默认的构建阶段
默认的构建阶段有三个阶段:
- build
- test
- deploy
阶段的执行顺序按照上面的排序执行。所有未指定的阶段默认为 test 阶段
job1:stage: testscript: echo "test"job2:stage: buildscript: echo "build"job3:stage: deployscript: echo "deploy"job4:script: echo "job4"
2. 声明自定义阶段和顺序
- 每个阶段(stage)包含一个或多个 Jobs
- 阶段按其声明的顺序运行
- 任何作业失败都将阶段标记为失败
stages:- build- test- review- deployjob1:stage: testscript: echo "test"job2:stage: buildscript: echo "build"job3:stage: deployscript: echo "deploy"job4:script: echo "job4"job5:stage: reviewscript: echo "review"
3. 使用特定的 Runner
如果Runner 有多个可用,会使用轮询的方式。如果需要使用指定的 Runner 运行,可以使用 tag 标签。
stages:- build- test- review- deployjob1:stage: testscript: echo "test"tags:- aishangwei-group- dockerjob2:stage: buildscript: echo "build"...
[info]如果有多个符合条件的 Runner ,也许是随便选择一个,目前没发现选择规律。
4. 代码构建示例
使用 feature-1 分支。
stages:- buildbuild:stage: buildimage: harbor.xiodi.cn/tools/openjdk:11.0.6tags:- docker- host20133-dockerscript:- chmod +x ./mvnw && ./mvnw package
