Конфигурация GitLab CI: создание проекта в виде образа Docker

Вот пример файла конфигурации 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. Точная конфигурация может варьироваться в зависимости от требований и настроек вашего конкретного проекта.