Техническое задание: Развертывание проекта с CI/CD и деплоем
Цель проекта
Необходимо организовать профессиональный процесс разработки и доставки для проекта, написанного на нескольких технологиях, с использованием современных DevOps-практик.
Основные задачи
- Создать репозиторий на GitHub и разместить в нем исходный код проекта.
- Настроить полноценный CI/CD-пайплайн (Непрерывная интеграция и доставка).
- Осуществить деплой (развертывание) рабочей версии проекта на выделенном сервере.
Технический стек проекта
- Серверная часть на языке Go (Golang)
- Компоненты или инструменты на Node.js
- Скрипты или сервисы на Python
Требования к CI/CD
- Автоматическая сборка проекта при пуше изменений в основную ветку.
- Запуск тестов для каждой из используемых технологий (если тесты предусмотрены).
- Автоматическое развертывание успешно собранной версии на целевом сервере.
- Обеспечение отказоустойчивости и возможности отката (rollback).
Ожидаемый результат
Полностью настроенный процесс, при котором любое изменение кода, прошедшее проверки, автоматически попадает на рабочий сервер. Проект должен быть доступен по указанному домену или IP-адресу.