Tworzenie i uruchamianie pliku poleceń wdrażania

Autor Jason Lewandowski

Pobierz plik PDF

W tym temacie opisano sposób tworzenia pliku poleceń, który umożliwia uruchomienie wdrożenia przy użyciu plików projektu Microsoft Build Engine (MSBuild) jako jednego kroku powtarzalnego procesu.

Ten temat stanowi część szeregu samouczków opartych na wymaganiach dotyczących wdrażania w przedsiębiorstwie fikcyjnej firmy o nazwie Fabrikam, Inc. W tej serii samouczków jest stosowane—przykładowe rozwiązanie—do reprezentowania aplikacji sieci Web, które ma realistyczny poziom 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 tym samouczku jest oparta na podejściu do pliku projektu podzielonego opisanego w artykule Opis procesu kompilacji, w którym proces kompilacji jest kontrolowany przez dwa pliki—projektu, zawierający instrukcje kompilacji, które mają zastosowanie do każdego środowiska docelowego, oraz jeden zawierający ustawienia kompilacji i wdrożenia specyficznego dla środowiska. W czasie kompilacji plik projektu specyficzny dla środowiska jest scalany z plikiem projektu Environment-niezależny od w celu utworzenia kompletnego zestawu instrukcji kompilacji.

Przegląd procesu

W tym temacie dowiesz się, jak utworzyć i uruchomić plik poleceń, który używa tych plików projektu, aby przeprowadzić powtarzające wdrożenie w środowisku docelowym. Zasadniczo plik poleceń musi zawierać polecenie MSBuild, które:

  • Informuje program MSBuild, aby wykonał plik niezależny od Publish. proj środowiska.
  • Informuje plik Publish. proj , który plik zawiera ustawienia projektu specyficzne dla środowiska i miejsce, w którym można go znaleźć.

Utwórz polecenie MSBuild

Zgodnie z opisem w temacie proces kompilowania, plik—projektu specyficzny dla środowiska, na przykład ENV-dev. proj—, został zaprojektowany do zaimportowania do pliku Environment-niezależny od Publish. proj w czasie kompilacji. Razem te dwa pliki zawierają pełny zestaw instrukcji, które informują program MSBuild, jak skompilować i wdrożyć rozwiązanie.

Plik Publish. proj używa elementu Import w celu zaimportowania pliku projektu specyficznego dla środowiska.

<Import Project="$(TargetEnvPropsFile)"/>

W związku z tym, gdy używasz programu MSBuild. exe do kompilowania i wdrażania rozwiązania Contact Manager, musisz:

  • Uruchom program MSBuild. exe w pliku Publish. proj .
  • Określ lokalizację pliku projektu specyficznego dla środowiska, dostarczając parametr wiersza polecenia o nazwie TargetEnvPropsFile.

Aby to zrobić, polecenie MSBuild powinno wyglądać następująco:

msbuild.exe Publish.proj /p:TargetEnvPropsFile=EnvConfig\Env-Dev.proj

W tym miejscu jest to prosty krok, aby przejść do powtarzalnego wdrożenia z jednym etapem. Wystarczy dodać polecenie MSBuild do pliku. cmd. W rozwiązaniu Contact Manager folder publikowania zawiera plik o nazwie Publish-dev. cmd , który dokładnie robi to.

%windir%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe Publish.proj /fl /p:TargetEnvPropsFile=EnvConfig\Env-Dev.proj
echo 
pause

Note

Przełącznik /FL instruuje program MSBuild, aby utworzył plik dziennika o nazwie MSBuild. log w katalogu roboczym, w którym został wywołany program MSBuild. exe.

Aby wdrożyć lub wdrożyć ponownie rozwiązanie Contact Manager, wystarczy uruchomić plik Publish-dev. cmd . Po uruchomieniu pliku MSBuild będzie:

  • Kompiluj wszystkie projekty w rozwiązaniu.
  • Generuj pakiety internetowe z możliwością wdrażania dla projektów aplikacji sieci Web.
  • Generuj pliki. DbSchema i. deploymanifest dla projektów bazy danych.
  • Wdróż pakiety sieci Web na serwerze sieci Web.
  • Wdróż bazę danych na serwerze bazy danych.

Uruchamianie wdrożenia

Po utworzeniu pliku poleceń dla środowiska docelowego powinno być możliwe ukończenie całego wdrożenia, po prostu uruchamiając plik.

Aby wdrożyć rozwiązanie Contact Manager w środowisku testowym

  1. Na stacji roboczej dewelopera Otwórz Eksploratora Windows, a następnie przejdź do lokalizacji pliku Publish-dev. cmd .

  2. Kliknij dwukrotnie plik, aby go uruchomić.

  3. Jeśli zostanie wyświetlone okno dialogowe Otwórz plik — ostrzeżenie o zabezpieczeniach , kliknij przycisk Uruchom.

  4. Jeśli ustawienia konfiguracji i serwery testowe są prawidłowo skonfigurowane, w oknie wiersza polecenia zostanie wyświetlony komunikat kompilacja zakończyła się powodzeniem , gdy MSBuild zakończy przetwarzanie plików projektu.

  5. Jeśli po raz pierwszy wdrożono rozwiązanie w tym środowisku, należy dodać konto testowego serwera sieci Web do roli bazy danych _ i bazy danych, _ a w bazie danych . Ta procedura została opisana w artykule Konfigurowanie serwera bazy danych do publikowania Web Deploy.

    Note

    Po utworzeniu bazy danych wystarczy przypisać te uprawnienia. Domyślnie proces kompilacji nie utworzy ponownie bazy danych na każdym wdrożeniu—, a następnie przeprowadzi porównanie istniejącej bazy danych z najnowszym schematem i wprowadzi tylko wymagane zmiany. W związku z tym należy tylko zmapować te role bazy danych przy pierwszym wdrożeniu rozwiązania.

  6. Otwórz program Internet Explorer i przejdź do adresu URL aplikacji Contact Manager (na przykład http://testweb1:85/ContactManager/).

  7. Sprawdź, czy aplikacja działa zgodnie z oczekiwaniami, i możesz dodać kontakty.

Podsumowanie

Tworzenie pliku poleceń zawierającego instrukcje programu MSBuild umożliwia szybkie i łatwe tworzenie i wdrażanie rozwiązań obejmujących wiele projektów w konkretnym środowisku docelowym. Jeśli musisz wielokrotnie wdrożyć rozwiązanie w wielu środowiskach docelowych, możesz utworzyć wiele plików poleceń. W każdym pliku poleceń MSBuild polecenie kompiluje ten sam plik projektu uniwersalnego, ale określi inny plik projektu specyficzny dla środowiska. Na przykład plik poleceń do opublikowania w środowisku deweloperskim lub testowym może zawierać to polecenie MSBuild:

msbuild.exe Publish.proj /p:TargetEnvPropsFile=EnvConfig\Env-Dev.proj

Plik polecenia do opublikowania w środowisku przejściowym może zawierać to polecenie MSBuild:

msbuild.exe Publish.proj /p:TargetEnvPropsFile=EnvConfig\Env-Stage.proj

Note

Aby uzyskać wskazówki dotyczące dostosowywania plików projektu specyficznych dla środowiska dla własnych środowisk serwera, zobacz Konfigurowanie właściwości wdrożenia dla środowiska docelowego.

Możesz również dostosować proces kompilacji dla każdego środowiska, zastępując właściwości lub ustawiając różne inne przełączniki w poleceniu MSBuild. Aby uzyskać więcej informacji, zobacz Dokumentacja wiersza polecenia programu MSBuild.