Конкурс: Как добавить "пройденное" условие на поставленное задание

У меня есть параллельный конвейер, который принимает исходный код 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" для моего случая.

Может кто-нибудь, пожалуйста, помогите?

1 ответ

Это должно работать как есть. Если pcf-dev терпит неудачу, то работа будет терпеть неудачу и останавливаться, и pcf-qa не побежит Если pcf-dev проходит потом pcf-qa побежит. Задачи выполняются одновременно, только если они находятся в aggregate блок.

Другие вопросы по тегам