Concourse pool-resource锁管道

时间:2017-09-12 02:11:24

标签: concourse

我正在尝试查看广场池资源,我已经在concourse / pool-resource git hub repo中关注了在线文档(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}

当我在job1或job2中获取锁定时,我在作业中看到这个,然后锁定声明运行了很长时间,并没有向我显示任何内容:

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时,我发现它会放锁并且什么都不做。当我劫持工人时,我看到它在tmp中创建了一个文件夹,一切都如预期的那样。不知道现在有什么问题。

1 个答案:

答案 0 :(得分:1)

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

我补充说,它有效。

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