我有一个使用git源代码的concourse管道,先构建然后将其部署到pcf。
现在,在构建之后,我必须进行两个部署,pcf-dev
和pcf-qa
,并且在qa
上具有dev
的依赖性。这意味着如果dev deployment
成功,则进行qa deployment
。
groups: []
resources:
- name: pcf-dev
type: cf
- name: pcf-qa
type: cf
- name: source-code
type: git
resource_types: []
jobs:
- name: build-deploy
public: true
plan:
- get: source-code
- task: build
privileged: true
config:
platform: linux
image_resource:
type: docker-image
source:
repository: java
tag: openjdk-8-alpine
run:
path: sh
args:
- -exc
- |
set -e -u -x
cd source-code/api/
./mvnw package
cp target/*.jar ../../build-output/api.jar
cd /tmp
find .
inputs:
- name: source-code
outputs:
- name: build-output
- put: pcf-dev
params:
path: build-output/api.jar
- put: pcf-qa
params:
path: build-output/api.jar
在这种情况下,我不知道如何使用"passed"
条件。我知道我可以将其与"get"
一起使用,但不知道如何与"put"
一起使用。
有人可以帮忙吗?
答案 0 :(得分:2)
它应该可以正常工作。如果pcf-dev
失败,则该作业将失败并停止,并且pcf-qa
将无法运行。如果pcf-dev
通过,那么pcf-qa
将运行。如果任务在aggregate
块中,则它们只能同时运行。