# #gitlab #gitlab-ci #pipeline #gitlab-ci-runner #gitlab-pipelines
Вопрос:
Я определил отдельный конвейер GitLab в выделенном файле YAML np-pipeline.yml
. Затем я вызываю его из другого ручного задания с trigger
помощью функции:
job:manual:new-np:
trigger:
include: .gitlab-ci/np-pipeline.yml
when: manual
Я в основном следовал документам здесь: https://docs.gitlab.com/ee/ci/pipelines/pipeline_architectures.html#child—parent-pipelines
Однако я не могу запустить весь дочерний конвейер. Проблема в янтарном значке ниже на изображении с потоком. Первое задание в потоке дочернего конвейера застряло с этим сообщением:
Эта работа застряла, потому что в проекте нет назначенных для нее онлайн-бегунов. Перейдите в настройки CI проекта
Обзор потока родителей/детей:
У меня есть автономный сервер gitlab-runner
, настроенный на моей виртуальной машине, который зарегистрирован в различных проектах (репозиториях) GitLab и группах, которыми я управляю.
Когда я захожу в настройки CI репозитория (проекта), я не вижу никакого нового токена, который я мог бы использовать для регистрации другого бегуна GitLab.
Я уже зарегистрировал бегуна проекта с командой, похожей на:
gitlab-runner register
--non-interactive
--url "https://gitlab.com/"
--registration-token "MY_TOKEN"
--description "devops runner, using MY_TOKEN token"
--tag-list "my_devops, MY_TOKEN"
--executor "shell"
Я также зарегистрировал несколько групповых бегунов с отдельными токенами, но когда я
- перейдите на страницу проекта веб-сайта GitLab
- затем нажмите на «Настройки» на левой панели
- затем нажмите «CI/CD».
- затем разверните раздел «Бегуны» :
они не отображаются в списке доступных токенов проекта. Я вижу только одного бегуна проекта, которого я зарегистрировал с помощью команды выше.
- Как запустить этот конвейер CI родитель/потомок в автономной виртуальной машине CI с помощью GitLab runners?
- Я хотел бы использовать
shell
бегунов (без докера или чего-либо еще) - У меня довольно большая виртуальная машина для заданий CI, поэтому я пытаюсь понять, есть ли способ разместить несколько бегунов в одной виртуальной машине.
Отдельный дочерний конвейер для справки:
job-np-queues:
script:
- echo "DO THINGS"
timeout: 40m
job-np-endpoint-api:
needs: [job-np-queues]
script:
- echo "DO THINGS"
timeout: 20m
job-np-partner-api:
needs: [job-np-queues]
script:
- echo "DO THINGS"
timeout: 20m
job-np-apisnapshot-blob:
needs: [job-np-queues]
script:
- echo "DO THINGS"
timeout: 15m
job-integration-tests-apis:
needs: [job-np-endpoint-api, job-np-partner-api, job-np-apisnapshot-blob]
script:
- echo "DO THINGS"
timeout: 30m
retry:
max: 1
job-acceptance-tests-apis:
needs: [job-integration-tests-apis]
script:
- echo "DO THINGS"
timeout: 20m
retry:
max: 1
Комментарии:
1. Есть ли у вас общие бегуны, настроенные для вашего проекта? Они должны отображаться как доступные бегуны в разделе Настройки CI/CD бегунов вместе с вашим бегуном проекта. Под заголовком «Общие бегуны» будет кнопка с надписью «Отключить общие бегуны», если она уже включена, в противном случае «Включить общие бегуны».
2. Общие бегуны не включены, потому что они из GitLab, в то время как я хотел бы использовать свои собственные бегуны (бегуны проекта или группы). Для этого проекта есть включенные групповые бегуны, рядом с ними есть зеленая точка, однако, похоже, их не подхватили. Как участники проекта, так и участники группы на самом деле являются одним и тем же
gitlab-runner
экземпляром в виртуальной машине с одним и тем же TOML conf.3. Если вы перейдете в список участников для группы, нажмите кнопку «Карандаш», чтобы отредактировать его, там есть флажок, который может повлиять на желаемый результат. Первый помечен
Run untagged jobs
. Это будет зависеть от вашей уникальной ситуации, чтобы знать, следует ли это проверять или нет для ваших бегунов, но если он выбран, но вы не используете теги, снимите его. У бегунов для всего экземпляра есть еще один флажок, который блокирует его для проектов, которым он в настоящее время назначен, но, похоже, это не относится к групповым бегунам (возможно, и к бегунам проектов тоже). Включены ли ваши проекты для бегуна?