Интеграция с GitLab

Вы можете создавать пайплайны непрерывной интеграции и непрерывного развертывания (CI/CD) с помощью шаблонов в GitLab.

Перед началом работы

Создайте репозиторий в GitLab и разместите в нем ваш Dockerfile.

Настройка пайплайна CI/CD в GitLab с использованием Artifact Registry

  1. В GitLab перейдите в раздел Build → Pipelines.

  2. Нажмите Try test template. Откроется окно Pipline editor для редактирования YAML-файла.

  3. Cкопируйте в YAML-файл код для настройки конфигурации пайплайна из репозитория.

  4. Задайте переменные в YAML-файле.

    Пример:

    docker-build:
      image: docker:latest
      stage: build
      services:
        - docker:dind
      variables:
        EVO_CONTAINER_REGISTRY: 887656ef-a8db-4cb2.cr.cloud.ru
        DOCKER_IMAGE_NAME: $EVO_CONTAINER_REGISTRY/image_from_gitlab:$CI_COMMIT_REF_SLUG
      before_script:
        - docker login -u "$EVO_REGISTRY_USER" -p "$EVO_REGISTRY_PASSWORD" $EVO_CONTAINER_REGISTRY
      script:
        - docker build --pull -t "$DOCKER_IMAGE_NAME" .
        - docker push "$DOCKER_IMAGE_NAME"
      rules:
        - if: $CI_COMMIT_BRANCH
          exists:
            - Dockerfile
    

    Где:

  5. Перейдите в раздел Settings → CI/CD → Variables.

    Здесь вы можете задать имена и значения переменных, которые будут использоваться в команде docker login для аутентификации в Artifact Registry.

    В нашем YAML‑файле — это переменные EVO_REGISTRY_USER и EVO_REGISTRY_PASSWORD.

  6. Нажмите Add variable и по очереди задайте имена и значения переменных.

    В значениях переменных укажите логин и пароль от сервисного аккаунта в Artifact Registry.

  7. Активируйте опцию Mask variable и нажмите Add variable.

  8. После завершения редактирования YAML‑файла зафиксируйте и отправьте изменения в свой репозиторий GitLab.

    В нашем примере YAML-файл и Dockerfile лежат в корне проекта. Сборка образа запускается командой docker build --pull -t "$DOCKER_IMAGE_NAME" . Если ваш YAML-файл находится не в корне проекта, укажите вместо точки . название директории, в которой он размещен.

  9. Коммит запустит пайплайн, каждый шаг которого будет выполняться в порядке, указанном в YAML‑файле. Убедитесь, что все этапы выполнения сценария сборки завершились успешно.

    В Artifact Registry вы должны увидеть загруженный образ.

Запустили Evolution free tier
для Dev & Test
Получить