Preskoči na sadržaj

Dobrodošao u CI Biblija

TL;DR

Centralni CI/CD skript repo za sve Bitbucket pipeline-ove u InfoPuls-u. Consumer repozi su tanki — ci-download-scripts.sh povuče ci/ tree i koriste generisane Make targete. Ova biblije je kompas za sve što ne stane u jednu ci/<x>/CLAUDE.md.

Šta je ci-artifacts

Jedan repo, jedan ci/ tree, svi consumer repozi koriste isti kod. Nema varijanti "consumer A ima svoj deploy skript, consumer B ima svoj" — sve ide kroz ci/run.py + generisane Make targete.

ci-artifacts (source of truth za CI logiku)
    ↓ ci-download-scripts.sh
    ↓ (BITBUCKET_API_TOKEN + CI_SCRIPTS_VERSION pin)
consumer repo (services.json + Makefile + bitbucket-pipelines.yml)

Consumer pin je nepromjenjiv. CI_SCRIPTS_VERSION je zamrznut na određenom branch-u ili tag-u; prelazak na noviju verziju je opt-in commit, ne silent bump.

Dva artefakta koja drže sve

  1. services.json (komitovan, statičan) — registar servisa. Ko je servis, kako se gradi, gdje se deploy-uje.
  2. ci-state.json (per-run, dinamičan) — stanje pipeline-a. Koji servis se trenutno gradi, koji tag, koji status.

Samo ci/service_manifest.py čita services.json. Samo ci/pipeline_state.py čita/piše ci-state.json.

Četiri načina da koristiš ovu bibliu

Ili pretraži po sistemu u 02-systems/.

Vidi i