# #gitlab #continuous-integration #gitlab-ci
#gitlab #непрерывная интеграция #gitlab-ci
Вопрос:
Я создал новый конвейер CD/CD в GitLab с помощью файла .gitlab-ci.yml в корневом каталоге репозитория в новом проекте с заданием, структурированным следующим образом:
... test: stage: test script: - pip install tox flake8 - tox -e py36,flake8 # Run only for merge requests on main branch rules: - if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == "main"' ...
GitLab не запускает конвейер, говоря, что в репозитории нет файла .gitlab-ci.yml. Я предполагал, что изменения в конвейере будут применяться к запуску запроса на слияние, который был инициирован. Я могу понять, почему это не так в целях безопасности в общедоступном репозитории, но я хотел бы протестировать изменения конвейера в запросе на слияние, который я создал для своего собственного частного экземпляра GitLab.
Возможно ли это?
Ответ №1:
Это была ошибка программирования. Мне нужно было использовать:
- if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main"'
вместо:
- if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == "main"'