Pređi na glavni sadržaj

CI/CD integracija

Semaphore može biti korak u spoljnom pipeline-u, a može i da pokreće sopstvene jednostavne pipeline-ove za build i deploy.

Build i deploy pipeline-ovi unutar Semaphore-a​

Tipovi šablona zadatka (Task Template) Build i Deploy, verzionisanje artefakata i promenljiva semaphore_vars opisani su u vodiču za korisnike: Build i deploy šabloni. Višekoračni pipeline-ovi sa odobrenjima prave se pomoću tokova rada (Workflows).

Pokretanje Semaphore zadataka iz spoljnog CI sistema​

Postoje dva načina da pokrenete zadatak (Task) iz GitHub Actions, GitLab CI, Jenkins-a ili bilo kog drugog sistema:

  • Integracije (Integrations): webhook URL po projektu (Project) koji pokreće šablon kada zahtev odgovara pravilu. Podržava GitHub potpise, tokene i HMAC i može proslediti polja zahteva zadatku kao promenljive. Pogledajte Integracije.
  • REST API: kreirajte zadatak pomoću API tokena:
curl -X POST https://semaphore.example.com/api/project/1/tasks \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"template_id": 5, "message": "Triggered by CI"}'

Odgovor sadrži ID zadatka. Proveravajte GET /api/project/1/tasks/{task_id} dok status ne postane success, error ili stopped. Pogledajte API za tokene i ugrađenu Swagger referencu.