Sobes.tech
Middle

Ինչպես կարգավորել GitLab-ում աշխատանքը գործարկելու կոճակով:

sobes.tech AI

Պատասխան AI-ից

Անհրաժեշտ է ձեռքով գործարկելու համար GitLab CI/CD-ում օգտագործվում է հիմնական բառ when: manual՝ .gitlab-ci.yml ֆայլում նկարագրության մեջ։

Օրինակ՝

stages:
  - build
  - deploy

build_job:
  stage: build
  script:
    - echo "Building the project..."
    # Կառուցման հրամաններ

deploy_staging:
  stage: deploy
  script:
    - echo "Deploying to staging..."
  when: manual # Այս աշխատանքը պետք է ձեռքով սկսել
  allow_failure: false # Դեռ նախնական արժեքը false է, բայց հստակ նշենք

Նպատակը՝

  • when: manual: Գիտացնում է GitLab-ին, որ այս աշխատանքը ավտոմատ չի սկսվի կոդի փոփոխության (commit) կամ ժամանակացույցի դեպքում։ Այն կսպասի, որ օգտվողը ձեռքով սկսի այն GitLab-ի ինտերֆեյսի միջոցով։
  • allow_failure: false: Կանխորոշում է, արդյոք հաջորդ աշխատանքները (եթե կան) պետք է կատարվեն, եթե այս ձեռքով աշխատանքը ավարտվի անհաջող։ Եթե սահմանված է false, ապա պայպլայնը կդադարեցվի այս աշխատանքը անհաջող ավարտվելու դեպքում։ Եթե սահմանված է true, պայպլայնը կշարունակի կատարվել նույնիսկ անհաջողության դեպքում։

Այդպիսի .gitlab-ci.yml ֆայլի ավելացման և կոմիտավորման հետո, GitLab-ի պայպլայնների ինտերֆեյսում (CI/CD -> Pipelines) deploy_staging աշխատանքին մոտ կերևա «Run» կոճակը կամ նրա կարգավիճակը կցուցադրվի որպես «Manual»։ Այս կոճակին սեղմելով, այն գործարկում է աշխատանքը։

Կարող եք նաև ձեռքով գործարկել այլ աշխատանքներ, որոնք ավտոմատ կերպով սկսում են մյուս աշխատանքները։ Օրինակ՝

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 # Միայն հաջող փորձարկումից հետո, և այն ձեռքով
  variables:
    TARGET_ENVIRONMENT: "production" # Օրինակ՝ փոխանցելու փոփոխականներ ձեռքով աշխատանքին

Այստեղ deploy_production աշխատանքը հասանելի կլինի միայն ձեռքով գործարկելու համար, այն հաջող ավարտից հետո test_job աշխատանքը։

Ավելին՝

  • variables: Ձեռքով աշխատանքները կարող են օգտագործել փոփոխականներ, որոնք սահմանված են ինչպես .gitlab-ci.yml ֆայլում, այնպես էլ նախագծի/խմբի կարգավորումներում։
  • rules: Ավելի բարդ սցենարներ գործարկելու համար կարող եք օգտագործել rules բանալի բառը միասին when: manual-ի՝ պայմաններ սահմանելու համար, երբ ձեռքով աշխատանքը դառնում է հասանելի կամ պարտադիր։
  • API: Ձեռքով աշխատանքները կարող են նաև գործարկվել GitLab CI/CD API-ի միջոցով։

Այսպիսով, when: manual հիմնական մեխանիզմն է ձեռքով աշխատանքի գործարկման համար GitLab-ում։