Kas vyksta po to, kai GitLab gauna kodą?
sobes.tech AI
Atsakymas iš AI
GitLab, gavus kodą (dažniausiai per git push), pradeda procesą, kuris priklauso nuo projekto nustatymų:
-
Webhook'ai: Kai gaunamas naujas kodas, GitLab gali informuoti išorines sistemas (pvz., CI/CD serverį, projekto valdymo sistemą) siunčiant HTTP užklausas. Tai yra įvykio pradžia.
-
CI/CD pipeline: Jei projekte yra nustatytas
.gitlab-ci.ymlfailas, GitLab Runner paleidžia CI/CD pipeline. Šis procesas apima:.gitlab-ci.ymlfailo sintaksės patikrinimą.- Darbų (jobs) kūrimą pagal YAML aprašymus.
- Darbų priskyrimą prie prieinamų runner'ių.
- Runner'iai gauna darbus, atsisiunčia šaltinio kodą.
- Atlieka nurodytas komandas (konstravimas, testavimas, diegimas ir kt.).
- Išsaugo artefaktus (sukurtas programas, testų ataskaitas) ir žurnalų failus.
- Grąžina darbo vykdymo būseną į GitLab.
Pavyzdinė
.gitlab-ci.ymlstruktūra:stages: - build - test - deploy build_job: stage: build script: - echo "Kūrimas..." - make build test_job: stage: test script: - echo "Testavimas..." - make test deploy_job: stage: deploy script: - echo "Diegimas..." - make deploy only: - main # veikia tik įvykus push į main šaką -
Automatiniai veiksmai: GitLab gali atlikti kitus automatinus veiksmus:
- Merge Request sukūrimas (kai įvyksta push į kitą šaką nei tikslinė).
- Merge Request būsenos atnaujinimas.
- Saugumo skenavimų paleidimas (jei nustatymai įjungti).
- Darbų automatinis užbaigimas arba susiejimas (naudojant raktinius žodžius commit'ų ar aprašymų).
-
Pranešimų sistema: GitLab siunčia pranešimus vartotojams el. paštu ar kitais kanalais (Slack, Mattermost), jei jie prenumeruoja įvykius repozitorijoje (nauji commit'ai, pipeline būsenos, komentarai).
-
Repozitorijos duomenų atnaujinimas: GitLab viduje atnaujinami duomenys apie repozitoriją, šakas, žymenis ir commit'ų istoriją.
Visa ši proceso dalis yra orientuota į naujo kodo integraciją į bendrą darbo eigą, automatizuotą kūrimą, testavimą ir galbūt diegimą, taip pat į suinteresuotųjų šalių informavimą.