Перейти к основному содержимому

Развёртывание веб-приложений

Веб-приложения ChurchApps развёртываются как статические сайты в Amazon S3 с CloudFront в качестве CDN. Развёртывания автоматизированы через GitHub Actions, но при необходимости могут выполняться вручную.

Перед началом работы

  • Настройте веб-приложение локально и убедитесь, что оно собирается -- см. Веб-приложения
  • Настройте AWS-учётные данные с доступом к S3 и CloudFront
  • Узнайте имя целевого S3-бакета и ID дистрибуции CloudFront

Этапы развёртывания

  1. Сборка приложения -- генерация статического вывода:

    npm run build
  2. Синхронизация с S3 -- загрузка вывода сборки в S3-бакет:

    aws s3 sync build/ s3://bucket-name
  3. Инвалидация CloudFront -- очистка кэша CDN, чтобы пользователи получили последнюю версию:

    aws cloudfront create-invalidation --distribution-id YOUR_DIST_ID --paths "/*"

Автоматическое развёртывание

Рабочие процессы GitHub Actions автоматически обрабатывают развёртывание при пуше в ветку main. Рабочий процесс выполняет все три шага выше -- сборку, синхронизацию с S3 и инвалидацию CloudFront -- без ручного вмешательства.

Информация

Обычно вам не нужно выполнять эти команды вручную. Слияние pull request в main запускает автоматический конвейер развёртывания.

Совет

Если вам нужно проверить сборку локально перед развёртыванием, выполните npm run build и проверьте вывод в каталоге build/. Вы можете обслужить его локально любым сервером статических файлов, чтобы убедиться, что всё работает.

Связанные статьи