大厅:找不到资源?

时间:2018-03-06 16:16:02

标签: continuous-integration concourse

我正在尝试构建一个由git触发的大厅管道,然后在该git存储库中运行一个脚本。

这是我到目前为止所做的:

resources:

- name: component_structure_git
  type: git
  source:
    branch: master
    uri: git@bitbucket.org:foo/bar.git

jobs:
- name: component_structure-docker
  serial: true
  plan:
  - aggregate:
    - get: component_structure_git
      trigger: true
    - task: do-something
      config:
        platform: linux
        image_resource:
          type: docker-image
          source: { repository: ubuntu }
        inputs:
          - name: component_structure_git
        outputs:
          - name: updated-gist  
        run:
          path: component_structure_git/run.sh
  - put: component_structure-docker
    params:
      build: component_structure/concourse

- name: component_structure-deploy-test
  serial: true
  plan:
  - aggregate:
    - get: component_structure-docker
      passed: [component_structure-docker]

- name: component_structure-deploy-prod
  serial: true
  plan:
  - aggregate:
    - get: component_structure-docker
      passed: [component_structure-docker]

当我使用fly应用此代码时,一切正常。当我尝试运行构建时。它失败并出现以下错误:

  

缺少输入:component_structure_git

知道我在这里缺少什么吗?

2 个答案:

答案 0 :(得分:1)

同意第一个答案。当并行运行(聚合块)时,需要考虑一些事项

  1. 我有多少输入?我有多个,让我们在聚合块中运行这些get步骤
  2. 如果我有两个任务,那么可以改变任务运行结果的任务之间是否存在依赖关系,例如。我是否有来自下一个任务所需的任务的输出
  3. 我有一系列put语句,让我们在聚合块中运行这些步骤

答案 1 :(得分:0)

只是一个猜测,但聚合导致了这个问题。你不能从同时执行的东西中获得输入吗?你为什么还有聚合?这通常用于" get"加快这个过程。