我正在寻找解决问题的方法。我想使用gitlab-ci按环境顺序运行作业。
Build dev(手动启动)----->创建docker image dev(如果dev build有效,则自动生成)
构建阶段(手动启动)------>创建docker映像阶段(如果阶段构建有效,则自动执行) ...
如果开发人员构建失败,我不想创建docker映像开发人员。
我该怎么做?此外,是否可以进行for循环以构建每个环境?
这是我目前正在做的事情:
stages:
- build
- docker-image
dev:build:
stage: build
script:
- npm install
- npm run build:development
when: manual
staging:build:
stage: build
script:
- npm install
- npm run build:staging
when: manual
demo:build:
stage: build
script:
- npm install
- npm run build:demo
when: manual
dev:image:
stage: docker-image
script:
- docker build -t registry/project:dev --build-arg environment=development .
#- docker push registry/project:dev
when: on_success
staging:image:
stage: docker-image
script:
- docker build -t registry/project:staging --build-arg environment=staging .
#- docker push registry/project:staging
when: manual
demo:image:
stage: docker-image
script:
- docker build -t registry/project:demo --build-arg environment=demo .
#- docker push registry/project:demo
when: manual
非常感谢您
答案 0 :(得分:0)
您应该disallow failure进行手动作业,以使管道不会在失败的构建中继续进行下去。
默认情况下,允许手动作业失败。 禁止失败:
dev:build:
stage: build
script:
- npm install
- npm run build:development
when: manual
allow_failure: false
注意:
when: on_success
您的 dev:image 作业语法错误或什么都不做。