2011-09-10 15 views
5

Jestem w trakcie przenoszenia mojej strony do Amazon AWS, która ma podniesione podstawowe pytanie dotyczące wdrożenia.Wdrożenie strony internetowej na Amazon AWS

Używam instancji S3 i EC2. Instancja S3 obsługuje wszystkie statyczne treści, takie jak obrazy, JavaScript i CSS. Jednak w instancji EC2 zainicjowałem repozytorium Git w/var/www /, aby móc wykonać "git pull", gdy chcę zaktualizować bazę kodu.

Nie mogę znaleźć rozwiązania, jak upewnić się, że przesyłam statyczną zawartość i kod w tym samym czasie, tak, że będzie całkowicie bez szwu. Załóżmy, że chcę zaktualizować logo i układ strony głównej. Kiedy przesyłam logo.png do S3, moja obecna wersja kodu na EC2 automatycznie wskaże nowe logo, nawet jeśli nowy układ nie został wdrożony.

Czy mogę załadować logo.png pod nową nazwą (na przykład logo-2.png) na S3, zaktualizować wszystkie odwołania do logo.png w moim kodzie HTML do logo-2.png, a następnie wdrożyć?

Mam nadzieję, że rozumiesz - dziękuję!

Odpowiedz

1

Skorzystaj z trzeciego kroku, aby wykonać swoje wdrożenia, jak Jenkins lub Springloops, a może prowizja.

W ten sposób oba etapy kompilacji można uruchamiać jednocześnie z jednego zatwierdzenia.

1

Tak, zdecydowanie powinieneś w jakiś sposób nazwać swoje pliki S3, na przykład moje pliki mają bieżący skrót hash git: minified..css. Bez względu na to, jakiego narzędzia używasz do kompilacji, najpierw wykonaj krok S3, a następnie kod aplikacji.

Jest to szczególnie ważne, ponieważ użytkownicy będą buforować stare pliki w pamięci podręcznej przeglądarki, a otrzymają starsze wersje.

Nie mam nazw wszystkich moich plików, takich jak logo.gif. Ten plik nigdy się nie zmienia, a jeśli tak, to ręcznie dodałem logo.gif? V = 1

Aby zrobić powyższe rzeczy, po prostu konfiguruję prosty skrypt węzła, który używa Rsync i Knox.

Tutaj otwieram źródło mojej dev tool, jeśli jesteś zainteresowany. Jest to ściśle związane z moim przypadkiem użycia, ale możesz go od siebie odróżnić.

Polecam także używanie chmury w celu pobrania z S3. Cloudfront jest bardzo szybki i zajmuje tylko piętnaście minut na skonfigurowanie. Wreszcie nie zapomnij o gzip i używaniu wygasłych nagłówków dla tych zasobów.

Powiązane problemy