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
我正在尝试查看汇集池资源,我已遵循 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