Gitlab CI с исполнителем оболочки и образом докера в качестве базы - PullRequest
0 голосов
/ 29 октября 2019

У меня проблемы с gitlab-ci с изображением докера. Много искал в интернете и все еще в замешательстве.

Проблема: Мне нужно использовать образ докера в качестве базы для моей сборки gitlab ci.

Я использую оболочку-исполнительи в моем gitlab-ci.yml я определил изображение так:

image: "registry.gitlab.com/my_projects/my_repo:latest"

У меня есть изображения этого докера, помещенные в реестр gitlab. Он содержит основные библиотеки, необходимые для моей сборки (ruby, node, npm и т. Д.)

Я также определил настройки [runners.docker] в файле gitlab-runner / config.toml, который имеет несколько строк, подобных этой:

[[runners]]
  executor = "shell"
  [runners.docker]
    services = ["registry.gitlab.com/my_project/my_repo:latest"]

Проблема в том, что gitlab-runner игнорирует это изображение.

Вот учебник, который я использовал:

https://dev.to/zimski/the-complete-guide-to-setup-a-cicd-for-rails-5-on-gitlab-2f2d

Возможно ли использовать образ докера в качестве основы внутри оболочки в gitlab-ci?

1 Ответ

0 голосов
/ 30 октября 2019

Когда вы используете исполнителя оболочки, ваши задания будут выполняться так же, как если бы вы запускали эту оболочку вручную. Если затем вы хотите использовать образ докера для сборки, вам просто нужно сделать это так, как вы бы делали это вручную, при сборке с использованием образа докера из вашей оболочки.

Как вы пишете, хотите использоватьТег image в вашем файле .gitlab-ci.yml и то, что вы устанавливаете настройку [runners.docker], звучит так, как будто вы хотите использовать программу-исполнитель docker. Вы можете выбрать это вместо исполнителя оболочки при регистрации вашего бегуна. Вы можете найти больше информации об исполнителях здесь:

https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-executors

...