Разрабатываем систему сбора и обработки событий на микросервисной архитектуре.
Стек:
- Go (микросервисы)
- PHP 8.1 (API Gateway)
- PostgreSQL (+ TimescaleDB)
- ClickHouse
- Debian
- Docker
- RabbitMQ
Продукт поставляется заказчикам в виде Docker-контейнеров, deb-пакетов и разворачивается в изолированных контурах.
Сейчас система уже разрабатывается backend-командой. Требуется навести порядок в сборке и доставке.
Задача
Настроить простой и воспроизводимый процесс CI/CD и доставки (MVP-уровень).
Ограничения:
- без Kubernetes и сложной оркестрации
- без production-эксплуатации и on-call
- без избыточных enterprise-практик
Задача ограничена настройкой базового процесса, который можно будет дальше развивать.
Результат работы:
- CI/CD пайплайн в GitLab собирает и публикует Docker-образы без ручных действий
- система разворачивается через docker-compose по инструкции
- подготовлен упрощённый оффлайн-пакет для заказчика
- есть понятная документация для команды и заказчика
После выполнения этих задач проект считается завершённым.
Что нужно сделать
- настроить GitLab CI/CD (build → push → deploy)
- организовать конфигурацию через переменные окружения (.env, GitLab Variables)
- подготовить docker-compose для развёртывания системы
- реализовать базовый сценарий деплоя (без сложной оркестрации)
Оффлайн-доставка (упрощённо)
- выгрузка Docker-образов (docker save)
- скрипт установки (install.sh)
- загрузка и запуск (docker load + docker-compose)
- базовое хранение секретов (GitLab Variables / env-файлы)
Документация:
- сборка проекта
- развёртывание системы
- обновление сервисов
Требования
- опыт работы с GitLab CI/CD (pipelines, variables, artifacts)
- уверенное знание Docker (сборка образов, docker-compose)
- Bash (простые скрипты)
- понимание конфигурации через переменные окружения
- умение писать техническую документацию
Будет плюсом
- опыт администрирования Debian / Linux
- базовое понимание systemd
- опыт подготовки оффлайн-дистрибутивов
- базовое понимание Go и PHP
Условия
формат: удалённая проектная работа / part-time
срок: до 2 месяцев
оплата: 200 000 ₽ на руки (фикс за проект)