如何在.gitlab-ci.yml文件的一个阶段中添加脚本部分?
例如在本例中
stages:
- stage1_name
.a:
script:
- echo "String 1"
.b:
script:
- echo "String 2"
stage1_name:
stage: stage1_name
extends: .a
extends: .b
script:
- echo "String 3"
如何获取输出:
String 1
String 2
String 3
代替:
String 3
答案 0 :(得分:1)
我不确定extends
的用法,但是在这种情况下我通常使用dependencies
。
stages:
- stage1
script1:
stage: stage1
script:
//doSomething
script2:
stage: stage1
dependencies:
- script1
script:
//doSomething
script3:
stage: stage1
depencencies:
- script2
script:
//doSomething
这样,仅在完成script1和script3之后才启动script2,仅在第二秒之后启动。
答案 1 :(得分:0)
不可能,当您使用扩展时,您将覆盖整个块。
您可以使用类似@ user3106558示例的依赖项
答案 2 :(得分:0)
我对此的解决方案是:
stages:
- stage1_name
.b:
script:
- echo "String 2"
stage1_name:
stage: stage1_name
before_script:
- echo "String 1
extends: .b
after_script:
- echo "String 3"
为了不覆盖 stage_1_name 中的 script 部分,我使用了before_script和after_script。