Kako podesiti pokretanje posla u GitLab-u pritiskom na dugme?
sobes.tech АИ
Одговор од АИ
За подешавање ручног покретања посла у 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-у.