Co se stane poté, co GitLab obdrží kód?
sobes.tech AI
Odpověď od AI
GitLab, když obdrží kód (obvykle přes git push), spustí proces, který závisí na nastavení projektu:
-
Webhooky: Při příchodu nového kódu může GitLab upozornit externí systémy (například CI/CD servery, systémy správy projektů) odesláním HTTP požadavků. To slouží jako spouštěč pro další akce.
-
CI/CD pipeline: Pokud je v projektu nakonfigurován soubor
.gitlab-ci.yml, spustí GitLab Runner CI/CD pipeline. Tento proces zahrnuje:- Kontrolu syntaxe souboru
.gitlab-ci.yml. - Vytvoření úloh (jobs) na základě definic v yml souboru.
- Přiřazení úloh dostupným runnerům.
- Runner přijme úlohy, stáhne zdrojový kód repozitáře.
- Spustí příkazy specifikované pro každou úlohu (build, testování, nasazení atd.).
- Uloží artefakty ( sestavené aplikace, zprávy o testech) a log soubory.
- Odesílá stav úloh zpět do GitLab.
Příklad struktury
.gitlab-ci.yml:stages: - build - test - deploy build_job: stage: build script: - echo "Sestavuji aplikaci..." - make build test_job: stage: test script: - echo "Spouštím testy..." - make test deploy_job: stage: deploy script: - echo "Nasazuji aplikaci..." - make deploy only: - main # Spouští se pouze při pushi do větve main - Kontrolu syntaxe souboru
-
Automatické akce: GitLab může provádět i jiné automatické akce:
- Vytvoření Merge Request (při pushi do větve odlišné od cílové větve).
- Aktualizace stavu Merge Requestu (pokud existuje).
- Spuštění bezpečnostních skenů (pokud jsou nakonfigurovány).
- Automatické uzavření nebo spojení úloh (pomocí klíčových slov v commitech nebo popisu Merge Requestu).
-
Systém oznámení: GitLab odesílá oznámení uživatelům e-mailem nebo přes jiné kanály (Slack, Mattermost), pokud jsou přihlášeni k událostem v repozitáři (nové commity, stavy pipeline, komentáře).
-
Aktualizace dat repozitáře: Interně GitLab aktualizuje data o repozitáři, větvích, značkách a historii commitů.
Celý proces je zaměřen na integraci nového kódu do celkového pracovního toku, automatizaci sestavení, testování a případně nasazení, a také na upozornění zainteresovaných stran.