Junior
Mis juhtub pärast GitLab koodi alla laadimist?
sobes.tech AI
Vastus AI-lt
Pärast koodi allalaadimist (repositoriumi kloonimist), GitLab CI/CD täidab pipeline — tööde (jobs) ja etappide (stages) kogumi, mis on määratletud .gitlab-ci.yml failis repositoriini juurkataloogis.
Tüüpilise pipeline põhietapid pärast koodi allalaadimist:
- Stages: Pipeline jaguneb etappideks, mis täidetakse järjest. Ühes etapis olevad tööd võivad toimuda paralleelselt.
- Jobs: Iga töö täidetakse eraldi Runneris. Runner on agent, mis võtab GitLab CI/CD-st töö ja täidab selle.
- Commands: Iga töö sees täidetakse käske, mis on märgitud sektsioonis
script.gitlab-ci.ymlfailis. Need käsud võivad hõlmata:- Projekti ehitamist (nt koodi kompileerimine, artefaktide pakkimine).
- Testide käivitamist (üksustestid, integratsioonitestid jms.).
- Koodi kvaliteedi kontrolli (linting, statiline analüüs).
- Docker piltide loomist.
- Juhtimist (deployment) test- või tootmiskeskkonda.
- Muud vajalikud toimingud.
- Dependencies (Sõltuvused): Tööde sõltuvused võivad olla eelnevate tööde tulemustest, kasutades sõna
needs. - Artifacts (Artefaktid): Tööde tulemused (nt kompileeritud kood, testiaruanded, Docker pildid) võivad olla salvestatud artefaktidena, mis on saadaval allalaadimiseks või kasutamiseks järgnevates töödes.
- Caching (Kuhjamine): Sõltuvused või ajutised failid võivad olla vahemällu salvestatud tööde vahel, et kiirendada täitmist.
- Reporting (Aruandlus): Täitmise tulemused (edu/ebaõnnestumine), logid ja artefaktid on saadaval GitLab kasutajaliideses.
Näidistruktuur .gitlab-ci.yml:
stages: # Etappide määratlus
- build
- test
- deploy
build_job: # Töö määratlus
stage: build # Osalemine etapil
script: # Täidetavad käsud
- echo "Building the project..."
- mvn package # Maven-i näide ehitamisest
artifacts: # Artefaktide salvestamine
paths:
- target/*.jar
test_job:
stage: test
script:
- echo "Running tests..."
- mvn test # Testide käivitamise näide
needs: # Sõltuvus eelmisest tööst
- build_job
deploy_job:
stage: deploy
script:
- echo "Deploying the application..."
- docker build -t my-app . # Docker pildi loomise näide
- docker push my-app # Pildi üleslaadimise näide
only: # Tingimus töö täitmiseks
- main # Ainult main haru
Seega, pärast koodi allalaadimist, korraldab GitLab CI/CD määratud tööprotsessi, mis on suunatud rakenduse ehitamisele, testimisele ja juurutamisele.