Докер-сочинение с Gitlab CI - PullRequest
1 голос
/ 03 октября 2019

Я бы хотел настроить непрерывную интеграцию с Gitlab. Мое приложение настроено через несколько Docker-контейнеров, которые собираются вместе с помощью Docker-compose. Мой .gitlab-ci.yml выглядит так:

image: "docker/compose:1.25.0-rc2-debian"

before_script:
  - docker --version
  - docker info
  - docker-compose build
  - ./bin/start-docker

rspec:
  script:
    - bundle exec rspec

rubocop:
  script:
    - bundle exec rubocop

Когда я нажимаю, он пытается запустить docker-compose build, который, в свою очередь, не может найти демон Docker. Это не совсем удивительно, потому что я не пытался запустить демон докера. Но я обычно делаю это с systemctl start docker - это не получается, потому что бегун не использует systemd.

Как я могу получить docker-compose для сборки?

Некоторые примечания: docker --version и docker-compose --version указывают, что как docker, так и docker-compose установлены правильно. Если я попытаюсь docker info, то получу сообщение об ошибке «Не удается найти демон Docker».

1 Ответ

1 голос
/ 03 октября 2019

image: "docker/compose:1.25.0-rc2-debian" указывает, что вы запускаете свой конвейер на панели управления докером. Попробуйте запустить его на shell runner с установленными docker и docker-compose и работающим демоном docker.

Другой способ - переписать ваш docker-compose в .gitlab-ci.yml с соответствующими зависимостями.

...