Skip to content

Обзор разработки

Этот раздел описывает, как подготовить новый сервис к деплою: упаковать в Docker, настроить CI/CD-пайплайн и задеплоить через Nomad.

Что такое «сервис»?

Сервис — это любое приложение (бэкенд, фронтенд или full-stack), упакованное в Docker-образ и запущенное как задание Nomad. Язык программирования и фреймворк значения не имеют — важно лишь, чтобы приложение работало в контейнере.

Общий план запуска

mermaid
flowchart LR
    A[Разработка] --> B[Dockerfile]
    B --> C[CI/CD-пайплайн]
    C --> D[Деплой через Nomad]
    D --> E[Сервис в продакшене]
  1. Разработайте приложение — на любом языке и фреймворке.
  2. Создайте Dockerfile — опишите сборку и запуск приложения в контейнере.
  3. Настройте CI/CD — добавьте .gitlab-ci.yml с использованием общих шаблонов.
  4. Создайте файлы деплоя — Nomad job-файл и vars-файлы для каждого окружения.
  5. Задеплойте — прогоните через 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.
  • Файлы деплоя — пошаговое руководство по созданию всех артефактов деплоя.
  • Чек-лист запуска — контрольный список для вывода нового сервиса в продакшен.

Документация по инфраструктуре