CI/CD

В проекте настроен процесс непрерывной интеграции и развертывания (CI/CD) с помощью GitHub Actions. Этот процесс автоматизирует сборку и публикацию Docker-образа в Docker Hub.

Описание рабочего процесса

Файл .github/workflows/docker-publish.yml описывает рабочий процесс, который запускается при каждом push в ветку main.

Основные шаги:

  1. Checkout repository: Клонирование кода из репозитория.

  2. Set up QEMU & Docker Buildx: Настройка окружения для сборки мультиплатформенных Docker-образов. Это позволяет создавать образы, которые могут работать как на стандартных amd64 (Intel/AMD), так и на arm64 (Apple Silicon, Raspberry Pi) архитектурах.

  3. Login to Docker Hub: Авторизация в Docker Hub с использованием секретов, хранящихся в настройках репозитория GitHub.

  4. Build and push: Сборка Docker-образа на основе Dockerfile и публикация его в Docker Hub.

Настройка

Для того чтобы CI/CD работал в вашем форке репозитория, вам необходимо настроить следующие секреты (Repository secrets) в настройках GitHub:

  • DOCKERHUB_USERNAME: Ваш логин в Docker Hub.

  • DOCKERHUB_TOKEN: Ваш токен доступа (Access Token) для Docker Hub.

После настройки, каждый коммит в ветку main будет автоматически создавать новый образ и публиковать его с двумя тегами: latest и тегом, соответствующим хешу коммита (например, yourusername/termostat-server:a1b2c3d).

Last updated