我有一个大厅管道,需要git源代码,构建,然后部署到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"中使用它。
有人能帮帮忙吗?
发布于 2018-09-19 12:08:46
它应该按原样工作。如果pcf-dev失败,则作业将失败并停止,并且pcf-qa将不会运行。如果pcf-dev通过,则pcf-qa将运行。只有当任务位于aggregate块中时,它们才会同时运行。
https://stackoverflow.com/questions/52363808
复制相似问题