Подготовка инфраструктуры

Требования

  • GitLab;

  • Linux-хост для установки GitLab Runner, имеющий:

    • Bash;

    • Git версии 2.18.0 или выше;

    • GPG;

    • Docker Engine.

Установка GitLab Runner

Установите GitLab Runner на выделенный для него хост, следуя официальным инструкциям.

Установка werf

Для установки werf на хосте для GitLab Runner выполните:

curl -sSL https://werf.io/install.sh | bash -s -- --ci

Регистрация GitLab Runner

Для регистрации GitLab Runner в GitLab следуйте официальным инструкциям, указав Shell в качестве executor’а. При желании после регистрации произведите дополнительную конфигурацию GitLab Runner’а.

Конфигурация container registry

Включите сборщик мусора вашего container registry.

Подготовка системы к кроссплатформенной сборке (опционально)

Данный шаг требуется только для сборки образов для платформ, отличных от платформы системы, где запущен werf.

Регистрируем в системе эмуляторы с помощью образа qemu-user-static:

docker run --restart=always --name=qemu-user-static -d --privileged --entrypoint=/bin/sh multiarch/qemu-user-static -c "/register --reset -p yes && tail -f /dev/null"

Настройка проекта

Настройка проекта GitLab

Конфигурация CI/CD проекта

Так может выглядеть репозиторий, использующий werf для сборки и развертывания:

Дополнительно:

  • Добавьте для werf cleanup опции авторизации в container registry, следуя инструкциям.