Развёртывание веб-приложений
Веб-приложения ChurchApps развёртываются как статические сайты в Amazon S3 с CloudFront в качестве CDN. Развёртывания автоматизированы через GitHub Actions, но при необходимости могут выполняться вручную.
Перед началом работы
- Настройте веб-приложение локально и убедитесь, что оно собирается -- см. Веб-приложения
- Настройте AWS-учётные данные с доступом к S3 и CloudFront
- Узнайте имя целевого S3-бакета и ID дистрибуции CloudFront
Этапы развёртывания
-
Сборка приложения -- генерация статического вывода:
npm run build -
Синхронизация с S3 -- загрузка вывода сборки в S3-бакет:
aws s3 sync build/ s3://bucket-name -
Инвалидация CloudFront -- очистка кэша CDN, чтобы пользователи получили последнюю версию:
aws cloudfront create-invalidation --distribution-id YOUR_DIST_ID --paths "/*"
Автоматическое развёртывание
Рабочие процессы GitHub Actions автоматически обрабатывают развёртывание при пуше в ветку main. Рабочий процесс выполняет все три шага выше -- сборку, синхронизацию с S3 и инвалидацию CloudFront -- без ручного вмешательства.
Обычно вам не нужно выполнять эти команды вручную. Слияние pull request в main запускает автоматический конвейер развёртывания.
Если вам нужно проверить сборку локально перед развёртыванием, выполните npm run build и проверьте вывод в каталоге build/. Вы можете обслужить его локально любым сервером статических файлов, чтобы убедиться, что всё работает.
Связанные статьи
- Веб-приложения -- Руководства по настройке B1Admin, B1App и LessonsApp
- Развёртывание API -- Развёртывание серверных API
- Развёртывание мобильных приложений -- Развёртывание мобильных приложений в магазины