На каждом нажатии gitlab-ci запускает мой основной докер my-deploy
и клонирует код в directoy /builds
.Gitlab CI: установка службы Apache Docker DocumentRoot каталог в основной докере
Теперь я добавил сервисный докер my-apache
к вышеуказанному. Доккер my-apache
настроен для запуска apache и использует /shared/httpd/localhost
в качестве DocumentRoot для apache.
Проект на основе .gitlab-ci.yml
выглядит следующим образом:
#
# This starts `my-deploy` docker and links an apache service docker...
#
testing:
stage: deploy
services:
- my-apache:latest
script:
- curl $MY_APACHE_PORT_80_TCP_ADDR
Теперь я хочу, чтобы мой проверили код (внутри my-deploy
докер в каталоге /builds
) для монтажа/связан в апача докер my-apache
в реж /shared/httpd/localhost
.
Оправа/ссылка должна быть:
my-deploy:/builds
->my-apache:/shared/httpd/localhost
Любая идея, если это возможно, и как настроить это?
Мой gitlab-бегун конфигурации (/etc/gitlab-runner/config.toml
), который добавляет my-deploy
как бегун выглядит следующим образом:
# Main Linter
[[runners]]
url = "https://gitlab.mydomain.com/ci"
token = "XXXXXXXXXXXXXXXXXXXXXXXX"
name = "MY_DEPLOY"
executor = "docker"
limit = 0
[runners.docker]
image = "my-deploy:latest"
privileged = false
cache_dir = ""
disable_cache = true
wait_for_services_timeout = 90
Update:
Как gitlab делает интеграцию Docker:
http://docs.gitlab.com/ce/ci/docker/using_docker_images.html#how-docker-integration-works
Не могли бы вы привести пример, пожалуйста. – lockdoc
@lockdoc Я добавил в ответ примеры документов, ссылок и синтаксиса.Чего я боюсь (поскольку я еще не тестировал его), вы заявляете в томах несколько точек крепления, что означает, что ваш именованный том устанавливается дважды за службу. (один в '/ build', в'/shared/httpd/localhost'). Проверьте это и посмотрите, по крайней мере, ваши два контейнера используют один и тот же объем по ожидаемым путям. – VonC
, так что я должен определить 'VOLUME' внутри' Dockerfile', чтобы создать общий каталог? – lockdoc