Sobes.tech
Middle

Kuidas seadistada GitLabis töö käivitamine nupuvajutusega?

sobes.tech AI

Vastus AI-lt

Seadistamaks käsitsi töö käivitamiseks GitLab CI/CD-s kasutatakse võtmesõna when: manual töö kirjelduse osas .gitlab-ci.yml failis.

Näide:

stages:
  - build
  - deploy

build_job:
  stage: build
  script:
    - echo "Building the project..."
    # Ehituskomandod

deploy_staging:
  stage: deploy
  script:
    - echo "Deploying to staging..."
  when: manual # Selle töö peab käsitsi käivitama
  allow_failure: false # Vaikimisi on see false, kuid märkime selle selgelt

Selgitus:

  • when: manual: Näitab GitLabile, et see töö ei käivitu automaatselt koodi muutmise (commit) või ajastuse korral. See ootab kasutaja käsitsi käivitamist GitLab'i kasutajaliidese kaudu.
  • allow_failure: false: Määrab, kas järgmised tööd (kui neid on) tehakse, kui see käsitsi töö lõpeb ebaõnnestunult. Kui on seatud false, peatub pipeline selle töö ebaõnnestumise korral. Kui on true, jätkub pipeline ka ebaõnnestumise korral.

Pärast sellise .gitlab-ci.yml faili lisamist ja commit-i tegemist ilmub GitLab'i pipeline'i vaates (CI/CD -> Pipelines) töö deploy_staging kõrval nupp „Run” või selle staatus kuvatakse kui „Manual”. Selle nupu klõpsamisel käivitatakse töö.

Samuti saab käsitsi töödega kaasata etappe, mis automaatselt käivitavad teisi töid. Näide:

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 # Ainult pärast edukat testi
  variables:
    TARGET_ENVIRONMENT: "production" # Näide: muutuja edastamine käsitsi tööle

Siin saab deploy_production töö olla käsitsi käivitatav ainult pärast test_job töö edukat lõpetamist.

Lisaks:

  • variables: Käsitsi tööd võivad kasutada muutujaid, mis on määratletud nii .gitlab-ci.yml failis kui ka projekti/grupi seadetes.
  • rules: Keerulisemate käivitamise stsenaariumide jaoks saab kasutada võtmesõna rules koos when: manual, et määrata tingimused, mille korral käsitsi töö muutub kättesaadavaks või kohustuslikuks.
  • API: Käsitsi tööd saab käivitada ka GitLab CI/CD API kaudu.

Seega on when: manual põhimehhanism käsitsi töö käivitamiseks GitLab'is.