Zaawansowane wdrażanie w Internecie w przedsiębiorstwie
Autor : Jason Lee
W tym samouczku przedstawiono sposób wykonywania różnych zadań, które są wymagane lub pożądane w wielu scenariuszach wdrażania w przedsiębiorstwie.
Aby zapoznać się z włoskim tłumaczeniem tych samouczków, odwiedź stronę http://www.lucamorelli.it.
Stanowi to część serii samouczków opartych na wymaganiach dotyczących wdrażania w przedsiębiorstwie fikcyjnej firmy o nazwie Fabrikam, Inc. W tej serii samouczków użyto przykładowego rozwiązania — rozwiązania Contact Manager — do reprezentowania aplikacji internetowej o realistycznym poziomie złożoności, w tym aplikacji ASP.NET MVC 3, usługi Windows Communication Foundation (WCF) i projektu bazy danych.
Metoda wdrażania w centrum tych samouczków jest oparta na metodzie podzielonego pliku projektu opisanego w opisie procesu kompilacji, w którym proces kompilacji jest kontrolowany przez dwa pliki projektu — jeden zawierający instrukcje kompilacji, które mają zastosowanie do każdego środowiska docelowego, oraz jeden zawierający ustawienia kompilacji i wdrażania specyficzne dla środowiska. W czasie kompilacji plik projektu specyficzny dla środowiska jest scalony z plikiem projektu niezależnego od środowiska w celu utworzenia pełnego zestawu instrukcji kompilacji.
omówienie scenariusza
Ogólny scenariusz dla tych samouczków został opisany w temacie Enterprise Web Deployment: Scenario Overview (Wdrażanie w internecie w przedsiębiorstwie: omówienie scenariusza). Zalecamy zapoznanie się z tym tematem przed rozpoczęciem pracy z tym samouczkiem.
Jak używać tego samouczka
- Każdy z tematów w tym samouczku jest samodzielny i zajmuje się konkretnym wyzwaniem lub problemem występującym w scenariuszach wdrażania w przedsiębiorstwie. Nie musisz pracować z tymi tematami w określonej kolejności. Jednak w tym samouczku omówiono niektóre zaawansowane zadania. W związku z tym należy zapoznać się z pojęciami i technikami opisanymi w samouczku Dotyczącym wdrażania w Internecie w przedsiębiorstwie , aby uzyskać największe korzyści z tej zawartości.
- Ten samouczek zawiera następujące tematy:
- Wykonywanie wdrożenia "What If". W wielu scenariuszach należy określić wpływ proponowanego wdrożenia na środowisko docelowe lub dowolną istniejącą zawartość przed wprowadzeniem jakichkolwiek zmian. W tym temacie opisano, jak można uruchomić wdrożenie "co jeżeli", aby wygenerować pliki dziennika i skrypty aktualizacji bazy danych tak, jakby zawartość została wdrożona w środowisku docelowym, bez wprowadzania żadnych zmian. Analizowanie tych zasobów może pomóc w wykrycie potencjalnych problemów przed wdrożeniem na żywo.
- Dostosowywanie wdrożeń bazy danych dla wielu środowisk. Podczas wdrażania projektu bazy danych w wielu miejscach docelowych często należy dostosować właściwości wdrożenia dla każdego środowiska docelowego. Na przykład w środowiskach testowych zwykle należy ponownie utworzyć bazę danych w każdym wdrożeniu, podczas gdy w środowiskach przejściowych lub produkcyjnych znacznie bardziej prawdopodobne jest wprowadzenie aktualizacji przyrostowych w celu zachowania danych. W tym temacie opisano sposób dołączania tych zmian właściwości do logiki wdrażania przez utworzenie pliku konfiguracji wdrożenia specyficznego dla środowiska (sqldeployment) dla każdego środowiska docelowego.
- Wdrażanie członkostwa w rolach bazy danych w środowiskach testowych. Podczas ponownego tworzenia bazy danych na każdym wdrożeniu — na przykład w ramach kompilacji ciągłej integracji i wdrażania w środowisku testowym — zwykle należy skonfigurować członkostwa w rolach bazy danych za każdym razem. Zazwyczaj musisz na przykład udzielić uprawnień tożsamości puli aplikacji skojarzonej z aplikacją internetową. W tym temacie opisano sposób automatyzacji tego procesu przez dodanie skryptu SQL po wdrożeniu do logiki wdrażania.
- Wdrażanie baz danych członkostwa w środowiskach przedsiębiorstwa. ASP.NET bazy danych członkostwa mają różne cechy, które mogą komplikować proces wdrażania. Na przykład wdrożenie tylko do schematu pozostawi bazę danych w stanie nieoperacyjnym. W większości scenariuszy zaleca się utworzenie bazy danych członkostwa bezpośrednio w każdym środowisku docelowym. Jeśli jednak musisz wdrożyć bazę danych członkostwa, w tym temacie opisano niektóre podejścia, których można użyć, aby sprostać nieodłącznym wyzwaniom.
- Wykluczanie plików i folderów z wdrożenia. W niektórych scenariuszach należy dostosować zawartość pakietu internetowego do określonych środowisk docelowych. Na przykład możesz chcieć uwzględnić pełne wersje bibliotek JavaScript podczas wdrażania w środowisku testowym, aby obsługiwać debugowanie po stronie klienta, ale używać minyfikowanych wersji bibliotek podczas wdrażania w środowisku przejściowym lub produkcyjnym. W tym temacie opisano, jak można wykluczyć określone pliki i foldery z procesu tworzenia pakietu.
- Przełącz aplikacje internetowe w tryb offline za pomocą narzędzia Web Deploy. Podczas wdrażania rozwiązań w środowisku przejściowym lub produkcyjnym często należy przełączyć aplikacje internetowe w tryb offline na czas trwania procesu wdrażania. W tym temacie opisano sposób dodawania pliku App_offline.htm do aplikacji internetowej na początku procesu wdrażania i usuwania go na końcu. Podczas gdy plik App_offline.htm jest w miejscu, wszyscy użytkownicy przeglądający aplikację internetową są automatycznie przekierowywani do pliku App_offline.htm .
- Uruchamianie skryptów Windows PowerShell z programu MSBuild. Wiele scenariuszy wdrażania wymaga bardziej złożonych akcji po wdrożeniu, takich jak dodawanie niestandardowych źródeł zdarzeń do rejestru lub konfigurowanie replikacji między wystąpieniami SQL Server. Te akcje są często wykonywane za pomocą skryptów Windows PowerShell. W tym temacie opisano sposób uruchamiania skryptów Windows PowerShell z pliku projektu Microsoft Build Engine (MSBuild) w ramach procesu kompilacji i wdrażania.
- Rozwiązywanie problemów z procesem pakowania. Potok publikowania w sieci Web (WPP) definiuje właściwość MSBuild o nazwie EnablePackageProcessLoggingAndAssert , za pomocą której można wygenerować szczegółowe informacje o procesie pakowania dla projektów aplikacji internetowych. W tym temacie opisano, co robi właściwość i jak jej używać.
Kluczowe technologie
Ten samouczek koncentruje się na sposobie używania tych produktów i technologii do obsługi zautomatyzowanego kompilowania i wdrażania w Internecie:
- Visual Studio 2010 i Team Foundation Server (TFS) 2010
- Kompilacja zespołu MSBuild i TFS
- Internet Information Services (IIS) 7.5
- Narzędzie wdrażania sieci Web usług IIS (Web Deploy) 2.1
- Narzędzie wdrażania bazy danych VSDBCMD.exe
Inne samouczki z tej serii
Stanowi to część serii pięciu samouczków dotyczących wdrażania w internecie w skali przedsiębiorstwa. Są to inne samouczki z serii:
- Wdrażanie aplikacji internetowych w scenariuszach dla przedsiębiorstw. Ta zawartość wprowadzająca zawiera kontekstowe tło dla serii samouczków. Opisano w nim scenariusz samouczka i pokazano, jak zadania i przewodniki opisane w całej serii mieszczą się w szerszym procesie zarządzania cyklem życia aplikacji (ALM).
- Wdrażanie w Internecie w przedsiębiorstwie. Ten samouczek zawiera koncepcyjne wprowadzenie do plików projektu MSBuild, WPP, Web Deploy i innych powiązanych technologii. W tym artykule wyjaśniono, jak można używać tych narzędzi razem do zarządzania złożonymi procesami wdrażania.
- Konfigurowanie środowisk serwera na potrzeby wdrażania w Internecie. W tym samouczku opisano sposób konfigurowania serwerów z systemem Windows w celu obsługi różnych scenariuszy wdrażania, w tym zdalnego wdrażania pakietu internetowego przy użyciu usługi Web Deployment Agent Service (agenta zdalnego) lub programu obsługi web deploy i zdalnego wdrożenia bazy danych. Zawiera on wskazówki dotyczące wybierania odpowiedniej metody wdrażania dla własnego środowiska i opisuje sposób używania struktury Web Farm Framework (WFF) do replikowania wdrożonych aplikacji internetowych na wszystkich serwerach internetowych w farmie serwerów.
- Konfigurowanie serwera Team Foundation Server na potrzeby wdrażania w Internecie. W tym samouczku opisano sposób konfigurowania serwera TFS w celu obsługi różnych scenariuszy wdrażania, w tym automatycznego wdrażania w ramach procesu ciągłej integracji i ręcznego wyzwalania wdrożeń określonych kompilacji.