Интеграция с GitLab
Вы можете создавать пайплайны непрерывной интеграции и непрерывного развертывания (CI/CD) с помощью шаблонов в GitLab.
Перед началом работы
Создайте репозиторий в GitLab и разместите в нем ваш Dockerfile.
Настройка пайплайна CI/CD в GitLab с использованием Artifact Registry
В GitLab перейдите в раздел
.Нажмите Try test template. Откроется окно Pipline editor для редактирования YAML-файла.
Cкопируйте в YAML-файл код для настройки конфигурации пайплайна из репозитория.
Задайте переменные в 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
Где:
EVO_CONTAINER_REGISTRY
— ID реестра в Artifact Registry, например887656ef-a8db-4cb2.cr.cloud.ru
DOCKER_IMAGE_NAME
— URI репозитория Artifact Registry, который используется для тегирования и загрузки образа в репозиторий. Образ автоматически тегируется хешем коммита$CI_COMMIT_REF_SLUG
.
Перейдите в раздел
.Здесь вы можете задать имена и значения переменных, которые будут использоваться в команде
docker login
для аутентификации в Artifact Registry.В нашем YAML‑файле — это переменные
EVO_REGISTRY_USER
иEVO_REGISTRY_PASSWORD
.Нажмите Add variable и по очереди задайте имена и значения переменных.
В значениях переменных укажите логин и пароль от сервисного аккаунта в Artifact Registry.
Активируйте опцию Mask variable и нажмите Add variable.
После завершения редактирования YAML‑файла зафиксируйте и отправьте изменения в свой репозиторий GitLab.
В нашем примере YAML-файл и Dockerfile лежат в корне проекта. Сборка образа запускается командой
docker build --pull -t "$DOCKER_IMAGE_NAME" .
Если ваш YAML-файл находится не в корне проекта, укажите вместо точки.
название директории, в которой он размещен.Коммит запустит пайплайн, каждый шаг которого будет выполняться в порядке, указанном в YAML‑файле. Убедитесь, что все этапы выполнения сценария сборки завершились успешно.
В Artifact Registry вы должны увидеть загруженный образ.
для Dev & Test