Обзор разработки
Этот раздел описывает, как подготовить новый сервис к деплою: упаковать в Docker, настроить CI/CD-пайплайн и задеплоить через Nomad.
Что такое «сервис»?
Сервис — это любое приложение (бэкенд, фронтенд или full-stack), упакованное в Docker-образ и запущенное как задание Nomad. Язык программирования и фреймворк значения не имеют — важно лишь, чтобы приложение работало в контейнере.
Общий план запуска
mermaid
flowchart LR
A[Разработка] --> B[Dockerfile]
B --> C[CI/CD-пайплайн]
C --> D[Деплой через Nomad]
D --> E[Сервис в продакшене]- Разработайте приложение — на любом языке и фреймворке.
- Создайте Dockerfile — опишите сборку и запуск приложения в контейнере.
- Настройте CI/CD — добавьте
.gitlab-ci.ymlс использованием общих шаблонов. - Создайте файлы деплоя — Nomad job-файл и vars-файлы для каждого окружения.
- Задеплойте — прогоните через dev → stage → prod.
Необходимые файлы
Каждый новый сервис требует следующих файлов:
| Файл | Фронтенд | Бэкенд | Full-stack |
|---|---|---|---|
Dockerfile | Да | Да | Да |
nginx.conf | Да | Нет | Да (для фронтенда) |
.gitlab-ci.yml | Да | Да | Да |
Nomad job-файл (.nomad.hcl) | Да | Да | Да |
Nomad vars-файлы (*.vars.hcl) | Да | Да | Да |
| Consul KV-конфигурация | Нет | Да | Да |
TIP
На странице Файлы деплоя есть готовые шаблоны для каждого варианта. Начните с них при создании нового сервиса.
Подробные руководства
- Бэкенд — как упаковать бэкенд-приложение в Docker и подготовить к деплою.
- Фронтенд — как собрать статику, настроить nginx и упаковать в Docker.
- Файлы деплоя — пошаговое руководство по созданию всех артефактов деплоя.
- Чек-лист запуска — контрольный список для вывода нового сервиса в продакшен.