Sobes.tech
Middle

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. Ha false-ra van állítva (alapértelmezett), a pipeline megáll, ha ez a feladat sikertelen. Ha true, 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 a rules kulcsszó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.