如何在gitlab-ci.yml中合并或添加一个新阶段,该阶段包含一个带有默认阶段和作业定义列表的通用模板yml
目前在我们的项目中,gitlab-ci.yml包含一个带有默认阶段和作业定义的通用模板yml。我想包括一个阶段和相应的工作具体到这个项目,它需要在模板yml中定义的阶段之间运行。下面是代表我正在处理的场景的示例yml文件如何在gitlab-ci.yml中合并或添加一个新阶段,该阶段包含一个带有默认阶段和作业定义列表的通用模板yml,gitlab,gitlab-ci,Gitlab,Gitlab Ci,目前在我们的项目中,gitlab-ci.yml包含一个带有默认阶段和作业定义的通用模板yml。我想包括一个阶段和相应的工作具体到这个项目,它需要在模板yml中定义的阶段之间运行。下面是代表我正在处理的场景的示例yml文件 .mvn-template.yml gitlab-ci.yml 现在我想在这个项目中加入一个新的阶段,比如说合同测试 包装 集成测试 因此,契约测试应该在包之后和集成测试之前运行 由于这是特定于这个项目,我不能包括在共同的模板。因此需要包含在gitlab-ci.yml中 无
- 包装
- 集成测试
请帮忙。在我看来,你可以用两种不同的方式来做:
合同测试
,并在项目的.gitlab ci.yml
中定义特定作业。配置将是有效的:gitlab将连接并扩展includes/anchors,以在最后构建一个gitlab ci注意:即使没有作业使用此阶段(一种空阶段),也可以定义阶段,它不会生成错误
包含的所有项目中,您可以将阶段
移动到模板之外,并将其放置在项目的.gitlab ci.yml
中。与解决方案1一样,您需要在项目的.gitlab ci.yml
中定义作业(不在模板中)
在我看来,你可以用两种不同的方式来做:
合同测试
,并在项目的.gitlab ci.yml
中定义特定作业。配置将是有效的:gitlab将连接并扩展includes/anchors,以在最后构建一个gitlab ci注意:即使没有作业使用此阶段(一种空阶段),也可以定义阶段,它不会生成错误
包含的所有项目中,您可以将阶段
移动到模板之外,并将其放置在项目的.gitlab ci.yml
中。与解决方案1一样,您需要在项目的.gitlab ci.yml
中定义作业(不在模板中)
stages:
- build
- static-analysis
- unit-test
- package
- integration-test
compile:
stage: build
tags:
- docker
artifacts:
paths:
- target/
expire_in: 14 days
script:
- mvn $MAVEN_CLI_OPTS compile
interruptible: true
//and job definitions for - static-analysis
// - unit-test
// - package
// - integration-test
include:
- project: 'xxx/common-pipeline'
ref: x.x.x
file: '/.mvn-template.yml'
...