Middle
Kaip nustatyti darbo paleidimą GitLab'e paspaudus mygtuką?
sobes.tech AI
Atsakymas iš AI
Norint sukonfigūruoti rankinį darbo paleidimą GitLab CI/CD, darbo aprašyme .gitlab-ci.yml naudojama raktinė žodis when: manual.
Pavyzdys:
stages:
- build
- deploy
build_job:
stage: build
script:
- echo "Building the project..."
# Statybos komandos
deploy_staging:
stage: deploy
script:
- echo "Deploying to staging..."
when: manual # Šį darbą reikia paleisti rankiniu būdu
allow_failure: false # Pagal numatytuosius nustatymus false, bet aiškiai nurodysime
Paaiškinimas:
when: manual: Nurodo GitLab, kad šis darbas automatiškai nebus pradėtas keičiant kodą (commit) ar pagal grafiką. Jis lauks, kol naudotojas jį paleis rankiniu būdu per GitLab sąsają.allow_failure: false: Nustato, ar tolesni darbai (jei yra) bus vykdomi, jei šis rankinis darbas baigsis nesėkmingai. Jei nustatytafalse, pipeline sustos nesėkmės atveju. Jeitrue, pipeline tęsiasi ir nesėkmės atveju.
Po tokio .gitlab-ci.yml failo pridėjimo ir įkėlimo į GitLab, pipeline sąsajoje (CI/CD -> Pipelines) šalia darbo deploy_staging atsiras mygtukas „Run“ arba jo būsena bus rodoma kaip „Manual“. Paspaudus šį mygtuką, darbas bus paleistas.
Taip pat galima įtraukti rankinius darbus į etapus, kurie automatiškai paleidžia kitus darbus. Pavyzdžiui:
stages:
- build
- test
- deploy
build_job:
stage: build
script:
- echo "Building..."
test_job:
stage: test
needs: [build_job]
script:
- echo "Testing..."
deploy_production:
stage: deploy
needs: [test_job]
script:
- echo "Deploying to production..."
when: manual # Tik po sėkmingo testo, ir tada rankiniu būdu
variables:
TARGET_ENVIRONMENT: "production" # Pavyzdys: perduoti kintamuosius rankiniam darbui
Čia darbas deploy_production taps prieinamas rankiniam paleidimui tik po sėkmingo test_job darbo pabaigos.
Papildomai:
variables: Rankiniai darbai gali naudoti kintamuosius, kurie yra apibrėžti tiek.gitlab-ci.ymlfaile, tiek projekto/grupės nustatymuose.rules: Sudėtingesni paleidimo scenarijai gali naudoti raktinę žodįruleskartu suwhen: manual, kad nustatytų sąlygas, kada rankinis darbas tampa prieinamas arba privalomas.- API: Rankiniai darbai taip pat gali būti paleisti per GitLab CI/CD API.
Taigi, when: manual yra pagrindinis mechanizmas rankiniam darbo paleidimui GitLab.