Cum să folosești resursa Pool în Concourse CI
DodaTech
Updated 2025-01-15
1 min read
In this tutorial, you'll learn about Cum să folosești resursa Pool în Concourse CI. We cover key concepts, practical examples, and best practices to help you understand and apply this topic effectively.
Resursa pool în Concourse CI oferă mecanisme de lock pentru a serializa accesul la resurse partajate, precum baze de date, medii de deploy sau API-uri externe.
Configurarea de bază
resources:
- name: deploy-lock
type: pool
source:
uri: https://github.com/dodatech/pools.git
branch: main
pool: environments
Preluarea și eliberarea unui lock
jobs:
- name: deploy-staging
plan:
- put: deploy-lock
params:
acquire: true
- task: deploy
config:
platform: linux
image_resource:
type: registry-image
source: { repository: alpine }
run:
path: sh
args:
- -c
- |
echo "Deploy pe staging..."
sleep 30
echo "Deploy finalizat"
- put: deploy-lock
params:
release: deploy-lock
Output așteptat:
Acquiring lock: environments/staging
Lock acquired
Deploy pe staging...
Deploy finalizat
Releasing lock: environments/staging
Pool cu medii multiple
resources:
- name: prod-blue
type: pool
source:
uri: https://github.com/dodatech/pools.git
branch: main
pool: production
add: [blue]
- name: prod-green
type: pool
source:
uri: https://github.com/dodatech/pools.git
branch: main
pool: production
add: [green]
Verificare status pool
Poți verifica care resurse sunt ocupate sau libere folosind claimed și unclaimed:
jobs:
- name: check-available
plan:
- get: prod-blue
version: every
- task: list-available
config:
platform: linux
...
Prevenire
- Eliberează întotdeauna lock-urile în
putfinal - Folosește pool-uri diferite pentru medii diferite (staging, producție)
- Implementează timeout pentru lock-uri pentru a preveni blocajele
- Verifică starea pool-ului înainte de a încerca acquire
Greșeli comune
- Lock-uri neeliberate -- blochează alte job-uri; folosește
ensureîn plan - Pool-uri insuficiente -- toate job-urile așteaptă un lock care nu se eliberează
- Confuzie între acquire și release -- verify order în planul pipeline-ului
Built by the developers of Doda Browser, DodaZIP, and Durga Antivirus Pro. DodaTech's deployment pipelines rely on pool resources for zero-downtime releases.
← Previous
Cum să folosești resursa Git în Concourse CI
Next →
Cum să folosești resursa Registry (Docker) în Concourse CI
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro