У меня есть репозиторий, который состоит из трех частей: веб-интерфейс, администратор и сервер.Каждый содержит свой собственный Dockerfile.
После создания образа я хотел добавить тест для admin .Мои тесты проходят, но занимают много времени, потому что он тянет базовый образ и строит все с нуля на каждом этапе (например, 8 минут на этап).Это мой .gitlab-ci.yml
image: tmaier/docker-compose
services:
- docker:dind
stages:
- build
- test
build:
stage: build
script:
- docker login -u $CI_DEPLOY_USER -p $CI_DEPLOY_PASSWORD $CI_REGISTRY
- docker-compose build
- docker-compose push
test:admin:
stage: test
script:
- docker-compose -f docker-compose.yml -f docker-compose.test.yml up admin
Я не совсем уверен, нужно ли мне проталкивать / извлекать изображения между этапами или я должен делать это с артефактами / кэшем / чем-либо еще.Как я понял, мне нужно только нажать / вытащить, если я хочу развернуть свои образы на другом сервере.Но также я добавил docker-compose push
, который запускается, но Gitlab не показывает мне никаких изображений в моем реестре.
Я много исследовал это, но большинство примеров кода, которые я нашел, были только об одном докереконтейнер, и они не использовали docker-compose.
Есть идеи?:)