Hogyan állítható be a GitLabban egy feladat futtatása gombnyomásra?
sobes.tech MI
Válasz az MI-től
A GitLab CI/CD-ben egy feladat kézi indításának konfigurálásához a .gitlab-ci.yml fájlban a when: manual kulcsszót kell használni a feladat leírásában.
Példa:
stages:
- build
- deploy
build_job:
stage: build
script:
- echo "A projekt építése..."
# Építési parancsok
deploy_staging:
stage: deploy
script:
- echo "Deploy staging környezetbe..."
# Deploy parancsok
when: manual # Ezt a feladatot kézzel kell indítani
allow_failure: false # Alapértelmezettként false, de egyértelműen megadva
Magyarázat:
when: manual: A GitLab-nek jelzi, hogy ez a feladat nem fog automatikusan elindulni a kód (commit) változása vagy ütemezése esetén. Várni fog arra, hogy a felhasználó kézzel indítsa el a GitLab felületén.allow_failure: false: Meghatározza, hogy a következő feladatok (ha vannak) végrehajtódnak-e, ha ez a kézi feladat sikertelenül végződik. Hafalse-ra van állítva (alapértelmezett), a pipeline megáll, ha ez a feladat sikertelen. Hatrue, akkor a pipeline folytatódik a hiba ellenére.
Miután hozzáadtál és commitoltál egy .gitlab-ci.yml fájlt ezzel a konfigurációval, a GitLab pipeline felületén (CI/CD -> Pipelines) megjelenik egy "Run" gomb vagy a státusza "Manual" lesz a deploy_staging feladat mellett. A gomb megnyomásával elindíthatod a feladatot.
Emellett kézi feladatokat be lehet ágyazni olyan szakaszokba, amelyek automatikusan indítanak más feladatokat. Például:
stages:
- build
- test
- deploy
build_job:
stage: build
script:
- echo "Építés..."
test_job:
stage: test
needs: [build_job]
script:
- echo "Tesztelés..."
deploy_production:
stage: deploy
needs: [test_job]
script:
- echo "Deploy a productionba..."
when: manual # Csak sikeres tesztelés után, kézzel
variables:
TARGET_ENVIRONMENT: "production" # Példa: változók átadása kézi feladathoz
Itt a deploy_production feladat csak sikeres tesztelés után lesz elérhető kézi indításra.
Továbbá:
variables: A kézi feladatok használhatnak olyan változókat, amelyeket a.gitlab-ci.yml-ben vagy a projekt/csoport beállításokban határoztak meg.rules: Bonyolultabb futási forgatókönyvek esetén aruleskulcsszóval együtt használhatók,when: manual-lal, a feltételek meghatározására, amikor a kézi feladat elérhető vagy kötelező.- API: A kézi feladatokat a GitLab CI/CD API-n keresztül is el lehet indítani.
Összefoglalva, a when: manual a fő mechanizmus a feladatok kézi indításának megvalósítására GitLabban.