Sobes.tech
Middle

Kā iestatīt darba palaišanu GitLab ar pogas nospiešanu?

sobes.tech AI

Atbilde no AI

Lai iestatītu manuālo darba palaišanu GitLab CI/CD, darba aprakstā tiek izmantota atslēgvārds when: manual .gitlab-ci.yml failā.

Piemērs:

stages:
  - build
  - deploy

build_job:
  stage: build
  script:
    - echo "Building the project..."
    # Būvniecības komandas

deploy_staging:
  stage: deploy
  script:
    - echo "Deploying to staging..."
  when: manual # Šo darbu ir jāuzsāk manuāli
  allow_failure: false # Pēc noklusējuma ir false, bet skaidri norādīsim

Skaidrojums:

  • when: manual: GitLab norāda, ka šis darbs automātiski netiks uzsākts, veicot koda izmaiņas (commit) vai pēc grafika. Tas gaidīs, kamēr lietotājs to manuāli uzsāks GitLab interfeisā.
  • allow_failure: false: Nosaka, vai turpmākie darbi (ja tādi ir) tiks izpildīti, ja šis manuālais darbs beidzas ar neveiksmi. Ja iestatīts uz false, pipeline apstāsies neveiksmes gadījumā. Ja uz true, pipeline turpinās arī neveiksmes gadījumā.

Pēc šāda .gitlab-ci.yml faila pievienošanas un komitēšanas, GitLab pipeline interfeisā (CI/CD -> Pipelines) blakus darbam deploy_staging parādīsies pogas “Run” vai tā statuss tiks rādīts kā “Manual”. Noklikšķinot uz šīs pogas, darbs tiks uzsākts.

Tāpat var iekļaut manuālos darbus tajos posmos, kas automātiski uzsāk citus darbus. Piemērs:

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 pēc veiksmīga testa, un tad manuāli
  variables:
    TARGET_ENVIRONMENT: "production" # Piemērs: pārsūtīt mainīgos manuālajam darbam

Šeit darbs deploy_production kļūs pieejams manuālam palaišanai tikai pēc veiksmīga test_job darba pabeigšanas.

Papildu:

  • variables: Manuālie darbi var izmantot mainīgos, kas ir definēti gan .gitlab-ci.yml failā, gan projekta/grupas iestatījumos.
  • rules: Sarežģītākus palaišanas scenārijus var izmantot ar rules atslēgvārdu kopā ar when: manual, lai noteiktu nosacījumus, kad manuālais darbs kļūst pieejams vai obligāts.
  • API: Manuālie darbi arī var tikt palaisti caur GitLab CI/CD API.

Tādējādi, when: manual ir galvenais mehānisms manuālam darba palaišanai GitLab.