GitLab: при запуске пайплайна вручную пропускается job
Есть такая задача деплоя:
deploy_laravel_app_develop:
stage: deploy
extends: .base_deploy
variables:
REPLICA_COUNT: 1
APP_PART: laravel-app
HELM_ENV_URL: $DEV_PROJ_URL.$DEV_BASE_DOMAIN
environment:
name: dev
url: "$DEV_PROJ_URL.$DEV_BASE_DOMAIN"
tags:
- k8s-stage
only:
- develop
except:
changes:
- "README.md"
needs: ["test_laravel_app"]
.base_deploy:
.base_deploy: &base_deploy
image: registry.site.com/docker-images/k8s-helm/k8s-helm-master:latest
stage: deploy
<<: *setup_k8s
script:
- cd helm/$APP_PART
- helm dep build
- helm ls
- echo $CI_ENVIRONMENT_URL
- export DEPLOYS=$(helm ls | grep $RELEASE_NAME | wc -l)
- set -e
- HELM_ENV_URL=$(echo $HELM_ENV_URL | tr '[:upper:]' '[:lower:]')
- HELM_ENV_PUBLIC_URL=$(echo $HELM_ENV_PUBLIC_URL | tr '[:upper:]' '[:lower:]')
- helm upgrade --install ${RELEASE_NAME} .
--set-string podAnnotations.commitSHA=${CI_COMMIT_SHORT_SHA}
--set-string env=${CI_ENVIRONMENT_SLUG}
--set-string replicaCount=${REPLICA_COUNT}
--set-string domain.name=${HELM_ENV_URL}
--set-string domain.publicName=${HELM_ENV_PUBLIC_URL}
--set-string domain.path=/${DEV_PROJ_PATH}
--set-string serviceAccount.name="${HELM_SA}"
--set domain.ssl=${TLS_SECRET}
--set image.repository="${IMAGE_NAME}"
--set imagePullSecrets[0].name="k8s-registry-secret"
--wait
--cleanup-on-fail
test_laravel_app - запускается, и отрабатывает:
test_laravel_app:
stage: test
image: $IMAGE_NAME:latest
script:
- cd /var/www
- touch .env
- touch database/database.sqlite
- php artisan migrate --force
- php artisan test --exclude-group optional
variables:
APP_PART: laravel-app
DB_CONNECTION: sqlite
environment:
name: test
needs: ["build_laravel_app"]
tags:
- isp-docker
При слиянии в develop задача деплоя (deploy_laravel_app_develop) запускается. А если запустить пайплайн вручную CI/CD > Pipelines > Run Pipeline, выбрать бранчу develop, то задача не запускается - ее просто нет, другими словами - пропускается. Вот так это выглядит:
Вопрос: почему? Можно ее каким-то способом все-таки запустить в пределах пайплайна, например добавить ручной вариант в дополнение к основному?
UPD. Есть подозрение, что это из-за
only:
- develop
то есть срабатывает этот триггер только при слиянии.
