Concourse pool-资源锁流水线

Concourse pool-resource lock pipeline

我正在尝试查看汇集池资源,我已遵循 concourse/pool-resource git 中心存储库中的在线文档 (https://github.com/concourse/pool-resource/)。

我的配置如下:

resources:

- name: locks
  type: pool
  source:
    uri: https://<git-path>/<repo>.git
    branch: locks
    username: {{github-username}}
    password: {{github-password}}
    pool: locks


jobs:

- name: job1
  serial: true
  plan:
  - aggregate:
    - get: locks
 - put: locks
   params: {claim: pipeline}

- name: job2
  serial: true
  plan:
  - aggregate:
    - get: locks
 - put: locks
   params: {claim: pipeline}    

- name: release
  serial: true
  plan:
  - aggregate:
    - get: locks
 - put: locks
   params: {release: locks}

当我获取作业 1 或作业 2 中的锁时,我在作业中看到了这一点,然后锁的声明运行了很长时间,没有显示任何内容:

sh: locks/unclaimed/.gitkeep: unknown operand

我不确定我做错了什么,我什至劫持了大厅工作人员并尝试检查 /var/logs,我发现 pool-resource-request.* 文件中的一切都很好。

我做错了什么?

文件夹结构与文档中提到的完全一样,唯一的区别是,我们没有创建新的存储库,而是为主存储库中的锁创建了一个单独的分支。

文件夹结构

.
├── README.md
    └── locks
        ├── claimed
            ├── .gitkeep
        └── unclaimed
            ├── .gitkeep

有什么问题吗?

我什至尝试了下面的那个,我在声明它时并没有获取锁。

resources:

- name: locks
  type: pool
  source:
    uri: https://<git-path>/<repo>.git
    branch: locks
    username: {{github-username}}
    password: {{github-password}}
    pool: locks


jobs:

- name: job1
  serial: true
  plan:
 - put: locks
   params: {claim: pipeline}

- name: job2
  serial: true
  plan:
 - put: locks
   params: {claim: pipeline}    

- name: release
  serial: true
  plan:
  - aggregate:
    - get: locks
 - put: locks
   params: {release: locks}

当我触发 job1 时,我看到它去锁定但什么都不做。当我劫持 worker 时,我看到它已经在 tmp 中创建了一个文件夹,一切都如预期的那样。不知道现在出了什么问题。

我忘记了该步骤的一个关键部分,文档中提到,我们在无人认领中创建了一个空文件,我没有这样做,因此它被吐了出来!

我补充说,它有效。

管道代码没有问题。我坚持使用选项 2