Конкурс: Как добавить «пройденное» условие на поставленное задание - PullRequest
0 голосов
/ 17 сентября 2018

У меня есть конвейер, который берет исходный код 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 Ответ

0 голосов
/ 19 сентября 2018

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

...