我正在尝试查看广场池资源,我已经在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中创建了一个文件夹,一切都如预期的那样。不知道现在有什么问题。
答案 0 :(得分:1)
我忘记了这一步的关键部分,文档中提到了,我们在无人认领的情况下创建了一个空文件,我没有这样做,因此它呕吐了!
我补充说,它有效。
管道代码没有问题。我坚持使用选项2