Управление версиями статического веб-приложения с помощью S3 и Cloudfront - PullRequest
0 голосов
/ 04 ноября 2018

В настоящее время я использую S3 и CloudFront для размещения статического приложения Angular.

Я хочу создавать версии приложения каждый раз, когда выполняю развертывание, чтобы обеспечить легкий откат (с помощью инструментов командной строки или автоматического конвейера).

Моя корзина S3 будет выглядеть примерно так:

/production/v1.2
/production/v1.3
/production/v1.4

Следующее развертывание будет в папке /production/v1.5 и т. Д.

Я хочу использовать эту стратегию, чтобы в случае отката я просто указывал веб-сайт для загрузки со старой версии /production/v1.4.

  • Мое первое решение для этого - обновить исходный путь к конфигурации CloudFront, указав новую папку, например /production/v1.4
  • В случае отката я просто обновляю исходный путь конфигурации CloudFront до /production/v1.3

Второе решение, вместо этого я думал о том, чтобы иметь папку live / и иметь путь к CloudFront Origin, указывающий на папку live / index.html в S3, и копировать туда последнюю версию моего приложения или копировать версию отката каждый раз, не меняя CloudFront Origin Path:

/production/v1.2
/production/v1.3
/production/v1.4
/production/live
  • Развернуть новую версию в /production/v1.4 и /production/live
  • В случае отката просто скопируйте /production/v1.3 в /production/live

Учитывая, что не так просто обновить настройки распространения CloudFront с помощью недействительных записей cli и cache:

Что вы рекомендуете? Есть ли лучший способ справиться с такой ситуацией?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...