Вот пример файла конфигурации GitLab CI для сборки проекта в виде образа Docker:
# .gitlab-ci.yml
image: docker:latest
services:
- docker:dind
variables:
DOCKER_DRIVER: overlay2
before_script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
build:
stage: build
script:
- docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG .
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
В этой конфигурации:
- Ключевое слово
imageуказывает образ Docker, который будет использоваться для запуска задания CI. - Раздел
servicesнастраивает службу Docker-in-Docker (dind), позволяющую нам создавать и отправлять образы Docker в рамках задания CI. - В разделе
variablesопределяются переменные среды, такие как драйвер Docker и учетные данные для входа в реестр Docker. - Секция
before_scriptзапускает команды перед сценарием задания. В этом случае он входит в реестр Docker, используя предоставленные учетные данные. - Задание
buildопределяется в разделеscript. Он создает образ Docker с помощью командыdocker build, помечает его текущей веткой или ссылкой на фиксацию и отправляет его в реестр Docker с помощьюdocker push.
Обратите внимание, что это всего лишь один пример того, как можно настроить GitLab CI для сборки проекта в виде образа Docker. Точная конфигурация может варьироваться в зависимости от требований и настроек вашего конкретного проекта.