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 seatudfalse, peatub pipeline selle töö ebaõnnestumise korral. Kui ontrue, 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.ymlfailis kui ka projekti/grupi seadetes.rules: Keerulisemate käivitamise stsenaariumide jaoks saab kasutada võtmesõnaruleskooswhen: 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.