2011-09-10 3 views
5

Я в процессе перемещения своего веб-сайта в Amazon AWS, у которого возникает важный вопрос относительно развертывания.Развертывание веб-сайта на Amazon AWS

Я запускаю экземпляр S3 и EC2. Экземпляр S3 обслуживает все статические материалы, такие как изображения, JavaScript и CSS. Однако в экземпляре EC2 я инициировал репозиторий Git в/var/www /, чтобы я мог выполнить «git pull», когда хочу обновить базу кода.

Я не могу найти решение относительно того, как я уверен, что я загружаю статический контент и код одновременно, чтобы он был полностью бесшовным. Предположим, я хочу обновить логотип и макет лицевой страницы. Когда я загружаю logo.png в S3, моя текущая база кода на EC2 автоматически укажет на новый логотип, даже если новый макет не был развернут.

Должен ли я загрузить logo.png под новым именем (например, логотип-2.png) на S3, обновить все ссылки на logo.png в своем HTML-файле до логотипа-2.png, а затем развернуть его?

Надеюсь, вы понимаете - спасибо!

ответ

1

Используйте третий шаг для развертывания, например, Дженкинса или Спринглупов или, возможно, грабли.

Таким образом, оба шага сборки могут запускаться одновременно с одной фиксации.

1

Да, вы должны определенно назвать свои файлы S3 каким-либо образом, например, мои файлы имеют текущий хэш-код git commit: minified..css. Независимо от того, какой инструмент вы используете для сборки, сначала выполните шаг S3, а затем код приложения.

Это особенно важно, потому что люди будут кэшировать старые файлы в кеше браузера, и они получат старые версии.

Я не пронумеровал все мои файлы, как logo.gif. Этот файл никогда не меняется, и если бы он когда-либо делался, я бы вручную добавил logo.gif? V = 1

Чтобы сделать что-то выше, я просто установил простой скрипт узла, который использует Rsync и Knox.

Я открываю источник dev tool здесь, если вам это интересно. Это довольно специфично для моего варианта использования, но вы можете разобрать его.

Я также рекомендую использовать облачный экран, чтобы тянуть с вашего S3. Cloudfront быстро взлетает и занимает всего 15 минут. Наконец, не забудьте использовать gzip и использовать заголовки Expired для этих активов.

Смежные вопросы