Развёртывание API
API ChurchApps развёртываются как Lambda-функции AWS с использованием Serverless Framework. На этой странице описан процесс сборки, развёртывания и настройки для staging и продакшен окружений.
Перед началом работы
- Настройте API локально -- см. Локальная настройка API
- Настройте AWS-учётные данные на вашей машине
- Убедитесь, что у вас есть доступ к целевому аккаунту AWS
Сборка
API собираются для продакшена с использованием специальной конфигурации TypeScript:
npm run build:prod
Это использует tsconfig.prod.json для компиляции проекта под среду выполнения Lambda.
Развёртывание
Развёртывание на staging:
npm run deploy-staging
Развёртывание на продакшен:
npm run deploy-prod
Что создаётся
Каждое развёртывание API создаёт или обновляет следующие Lambda-функции AWS:
| Функция | Назначение |
|---|---|
web | Обработчик HTTP-запросов через API Gateway |
socket | Обработчик WebSocket-соединений |
timer15Min | Запланированная задача, запускаемая каждые 15 минут |
timerMidnight | Запланированная задача, запускаемая ежедневно в полночь |
Конфигурация окружения
В развёрнутых окружениях конфигурация считывается из AWS SSM Parameter Store, а не из файлов .env. Это исключает секреты из пакета развёртывания и позволяет изменять конфигурацию без повторного развёртывания.
Никогда не коммитьте продакшен-учётные данные в репозиторий. Вся конфиденциальная конфигурация должна храниться в AWS SSM Parameter Store и загружаться во время выполнения.
Чтобы протестировать развёртывание без влияния на продакшен, всегда сначала разворачивайте на staging с помощью npm run deploy-staging и проверяйте изменения перед переходом на прод.
Связанные статьи
- Локальная настройка API -- Настройка API для разработки
- Структура модулей -- Понимание архитектуры Lambda-функций
- Развёртывание веб-приложений -- Развёртывание фронтенд-приложений