场所:如何在放置任务上添加“通过”条件

时间:2018-09-17 08:40:27

标签: pipeline concourse concourse-git-resource

我有一个使用git源代码的concourse管道,先构建然后将其部署到pcf。

现在,在构建之后,我必须进行两个部署,pcf-devpcf-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 :(得分:2)

它应该可以正常工作。如果pcf-dev失败,则该作业将失败并停止,并且pcf-qa将无法运行。如果pcf-dev通过,那么pcf-qa将运行。如果任务在aggregate块中,则它们只能同时运行。