Ինչպես կարգավորել 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-ում։