2

我正在尝试使用 github-release-resource 在我的 Concourse 管道中提取 git hub 版本的旧版本/标签,但它似乎无法找到除最新版本之外的版本。
这是一个简单的测试,我们尝试提取 concourse 本身的旧版本。

---
resources:
- name: concourse-release
  type: github-release
  source:
    user: concourse
    repository: concourse
    access_token: YOUR-GITHUB-ACCESS-TOKEN-GOES-HERE
jobs:
- name: test-concourse-release
  plan:
  - do:
    - get: concourse-release
      version: { tag: 'v2.4.0' }
    - task: test-release
      config:
        platform: linux
        image_resource:
          type: docker-image
          source:
            repository: ubuntu
        inputs:
        - name: concourse-release
        run:
          path: sh
          args:
          - -exc
          - |
            find .
            cat ./concourse-release/tag
            cat ./concourse-release/version

上述任务的资源输出为:

waiting for a suitable set of input versions
concourse-release - pinned version {"tag":"v2.4.0"} is not available

即使版本存在:https ://github.com/concourse/concourse/releases/tag/v2.4.0

我怎样才能让它工作?

4

1 回答 1

4

根据 Concourse 文档,新配置的资源只会从最新版本开始。

您必须使用fly带有命令的 CLIcheck-resource才能下载旧版本的资源。

例如,对于问题中列出的示例管道,这将是检索 Concourse 的旧版本 (v2.4.0) 并使其可用于管道执行的命令:

fly -t <your-target-alias> check-resource --resource <your-pipeline-name>/concourse-release --from tag:v2.4.0
于 2016-12-12T19:54:59.610 回答