Cum să folosești webhook-uri ca resursă în Concourse CI
DodaTech
Updated 2025-01-15
2 min read
In this tutorial, you'll learn about Cum să folosești webhook. We cover key concepts, practical examples, and best practices to help you understand and apply this topic effectively.
Resursa de tip Webhook în Concourse CI permite declanșarea pipeline-urilor din surse externe, cum ar fi GitHub, GitLab, Jenkins sau API-uri personalizate.
Configurarea de bază
resources:
- name: webhook-trigger
type: webhook
source:
type: push
secret: ((webhook-secret))
Obținerea URL-ului Webhook
După configurarea resursei, Concourse generează un URL unic:
https://ci.dodatech.com/api/v1/teams/main/pipelines/deploy-pipeline/resources/webhook-trigger/check/webhook?webhook_token=((webhook-secret))
Utilizarea în pipeline
jobs:
- name: deploy-on-webhook
plan:
- get: webhook-trigger
trigger: true
- get: source-code
- task: deploy
config:
platform: linux
image_resource:
type: registry-image
source: { repository: alpine }
run:
path: sh
args:
- -c
- |
echo "Webhook primit! Declanșare deploy..."
echo "Payload: $(cat webhook-trigger/payload.json)"
Output așteptat:
Webhook resource checked
New version detected
Webhook primit! Declanșare deploy...
Payload: {"ref": "main", "action": "push"}
Trimite un Webhook cu curl
curl -X POST \
https://ci.dodatech.com/api/v1/teams/main/pipelines/deploy-pipeline/resources/webhook-trigger/check/webhook?webhook_token=secret123 \
-H "Content-Type: application/json" \
-d '{"ref": "main", "action": "push"}'
Configurare pentru GitHub
În setările Repository-ului GitHub, adaugă Webhook:
- Payload URL: URL-ul generat de Concourse
- Content type:
application/json - Secret: același ca în configurația resursei
- Events:
push,pull_request,release(selectează ce ai nevoie)
Prevenire
- Păstrează secretul Webhook-ului în siguranță -- folosește vault
- Validează payload-ul în task-ul pipeline-ului
- Limitează accesul la URL-ul Webhook doar la surse de încredere
- Folosește HTTPS pentru toate conexiunile Webhook
Greșeli comune
- Webhook secret expus în cod -- folosește
((variabile))pentru token - URL Webhook greșit -- verifică că token-ul din URL corespunde cu cel din configurare
- Fără trigger: true -- resursa Webhook este verificată dar nu declanșează automat job-ul
Built by the developers of Doda Browser, DodaZIP, and Durga Antivirus Pro. DodaTech uses Webhook resources for real-time CI/CD triggering.
← Previous
Cum să folosești resursa Time în Concourse CI pentru programare
Next →
Cum să folosești cache pentru task-uri în Concourse CI
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro