Ćwiczenie — tworzenie miejsc wdrożenia

Ukończone

Miejsce wdrożenia to wystąpienie aplikacji internetowej, w którym można przetestować nową wersję aplikacji przed wdrożeniem. Przeprowadzając zamianę miejsc, możesz wdrożyć nową wersję aplikacji bez żadnych przestojów.

Załóżmy, że podjęto decyzję o użyciu miejsc wdrożenia usługi aplikacja systemu Azure Service w celu usprawnienia wdrażania nowych wersji aplikacji internetowej mediów społecznościowych. Chcesz skonfigurować aplikację internetową na platformie Azure i skonfigurować co najmniej jedno gniazdo wdrożenia.

W tym ćwiczeniu skonfigurujesz aplikację internetową, dodasz nowe miejsce wdrożenia do przemieszczania i wdrożysz różne wersje aplikacji internetowej w miejscach produkcyjnych i przejściowych.

Ważne

Do wykonania tego ćwiczenia potrzebna jest własna subskrypcja platformy Azure. Ponadto mogą zostać naliczone opłaty. Jeśli nie masz jeszcze subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

Tworzenie aplikacji internetowej

Zacznij od utworzenia nowego zasobu aplikacji internetowej w witrynie Azure Portal.

  1. Zaloguj się w witrynie Azure Portal.

  2. W menu zasobów lub na stronie głównej wybierz pozycję Utwórz zasób. Zostanie wyświetlone okienko Tworzenie zasobu .

  3. W menu zasobów wybierz pozycję Internet, a następnie z wyników wybierz pozycję Aplikacja internetowa. Zostanie wyświetlone okienko Tworzenie aplikacji internetowej.

  4. Na karcie Podstawy wprowadź następujące wartości dla każdego ustawienia.

    Ustawienie Wartość
    Szczegóły projektu
    Subskrypcja Wybierz subskrypcję, której chcesz użyć w celu ukończenia tego ćwiczenia
    Grupa zasobów Wybierz link Utwórz nowy, a następnie wprowadź ciąg mslearn-slots, a następnie wybierz przycisk OK.
    Szczegóły wystąpienia
    Nazwisko Wprowadź unikatową nazwę.
    Publikowanie Kod
    Stos środowiska uruchomieniowego ASP.NET 4.8
    System operacyjny Windows
    Region (Region) Wybierz region blisko siebie.
    Plan usługi App Service
    Plan systemu Windows Zaakceptuj wartość domyślną.
    Jednostka SKU i rozmiar Zaakceptuj wartość domyślną.
  5. Wybierz pozycję Dalej: Wdrożenie.

  6. Wybierz pozycję Dalej: Sieć.

  7. Wybierz pozycję Dalej: Monitorowanie i wprowadź następującą wartość ustawienia.

    Ustawienie Wartość
    Application Insights
    Włącz usługę Application Insights Przełącz na nie
  8. Wybierz opcję Przejrzyj i utwórz, a następnie wybierz pozycję Utwórz. Zaczekaj, aż wdrożenie zakończy się pomyślnie.

  9. Po zakończeniu wdrażania wybierz pozycję Przejdź do zasobu. Zostanie wyświetlone okienko App Service dla aplikacji internetowej.

Konfigurowanie wdrożenia narzędzia Git

Chociaż możesz użyć wielu różnych narzędzi do wdrażania kodu w aplikacji internetowej, w tym ćwiczeniu skonfigurujesz aplikację internetową do korzystania z lokalnego repozytorium git.

  1. W menu usługi App Service w obszarze Wdrożenie wybierz pozycję Centrum wdrażania. Zostanie wyświetlone okienko Centrum wdrażania dla usługi app Service.

  2. Na karcie Ustawienia w polu Źródło wybierz pozycję Lokalne narzędzie Git, a następnie wybierz pozycję Zapisz na pasku poleceń, aby skonfigurować wdrożenie.

  3. Wybierz kartę Lokalne poświadczenia git/FTPS. W obszarze Zakres użytkownika wprowadź wybraną unikatową nazwę użytkownika i hasło, a następnie na pasku poleceń wybierz pozycję Zapisz. Zanotuj nazwę użytkownika i hasło do użycia później.

Konfigurowanie klienta usługi git i klonowanie kodu źródłowego aplikacji internetowej

Teraz skonfigurujesz klienta git w usłudze Cloud Shell i użyjesz go do sklonowania przykładowej aplikacji internetowej.

  1. W obszarze kontrolek globalnych platformy Azure w górnej części strony wybierz ikonę usługi Cloud Shell, aby uruchomić sesję usługi Azure Cloud Shell.

    Screenshot of the Cloud Shell icon in global controls.

  2. W sesji usługi Cloud Shell po wyświetleniu monitu wybierz środowisko powłoki Bash i utwórz magazyn dla subskrypcji.

    Uwaga

    Usługa Cloud Shell wymaga, aby zasób magazynu platformy Azure utrwalał wszystkie pliki utworzone w usłudze Cloud Shell. Po pierwszym otwarciu usługi Cloud Shell zostanie wyświetlony monit o utworzenie grupy zasobów, konta magazynu i udziału usługi Azure Files. Ta konfiguracja jest automatycznie używana dla wszystkich przyszłych sesji usługi Cloud Shell.

  3. Wprowadź następujące polecenie w usłudze Cloud Shell, zastępując <nazwę użytkownika> preferowaną nazwą użytkownika. Ta wartość konfiguracji nie jest skojarzona z żadnym kontem platformy Azure, więc możesz użyć dowolnej wartości.

    git config --global user.name <your-username>
    
  4. Wprowadź następujące polecenie w usłudze Cloud Shell, zastępując <adres e-mail preferowanym adresem e-mail> . Ta wartość konfiguracji nie jest skojarzona z żadnym kontem platformy Azure, więc możesz użyć dowolnej wartości.

    git config --global user.email <your-email-address>
    
  5. Wprowadź następujący kod, aby utworzyć i otworzyć demoapp folder dla kodu źródłowego.

    mkdir demoapp
    cd demoapp
    
  6. Wprowadź następujący kod, aby sklonować źródło aplikacji internetowej i otworzyć lokalną kopię.

    git clone https://github.com/Azure-Samples/app-service-web-dotnet-get-started.git
    cd app-service-web-dotnet-get-started
    

Konfigurowanie zdalnego repozytorium git w celu wdrożenia aplikacji do produkcji

Użyjemy narzędzia Git, aby wdrożyć kod źródłowy w miejscu produkcyjnym aplikacji internetowej, a następnie skonfigurować adres URL git aplikacji jako repozytorium zdalne.

  1. W witrynie Azure Portal aplikacja internetowa powinna być aktywna. W menu zasobów wybierz pozycję Przegląd.

  2. W okienku Przegląd aplikacji internetowej sekcja Podstawy zawiera adres URL w domenie domyślnej. Należy pamiętać, że adres URL zawiera nazwę wdrożenia aplikacji internetowej.

    Screenshot of the Essentials section, where you Copy the git clone URL.

    Uwaga

    Jeśli nie widzisz adresu URL klonowania git, w którym jest on wyświetlany na poprzednim zrzucie ekranu, odśwież portal.

  3. Umieść kursor na adresie URL klonowania git i wybierz ikonę Kopiuj do schowka. Pamiętaj, że ta wartość zawiera również nazwę użytkownika wdrożenia.

  4. W usłudze Cloud Shell uruchom następujące polecenie, aby skonfigurować zdalne narzędzie git o nazwie "production". Zastąp ciąg <git-clone-url> zawartością skopiowaną do schowka z poprzedniego kroku.

    cd app-service-web-dotnet-get-started
    git remote add production <git-clone-url>
    
  5. Uruchom następujące polecenie, aby wdrożyć aplikację internetową w miejscu produkcyjnym. Po wyświetleniu monitu o hasło wprowadź hasło wdrożenia utworzone w poprzednim zadaniu.

    git push production
    

    Sesja terminalu identyfikuje wszystkie procesy, które odbywają się w ramach wdrożenia. Poczekaj na zakończenie wdrażania. Powinno zostać wyświetlone powiadomienie Wdrożenie zakończone pomyślnie .

  6. W witrynie Azure Portal okienko Przegląd powinno być nadal aktywne. Umieść kursor na adresie URL. Możesz kliknąć go dwukrotnie, aby otworzyć go na nowej karcie przeglądarki lub skopiować i wkleić go do nowej karty przeglądarki.

    Screenshot of your web app in the production slot.

  7. Zamknij kartę przeglądarki z wyświetloną aplikacją internetową.

Tworzenie nowego miejsca przejściowego

W przypadku aplikacji internetowej utworzono jedno miejsce, miejsce produkcyjne i wdrożono kod źródłowy w tym miejscu. Utwórzmy miejsce wdrożenia, w którym można przygotować nowe wersje aplikacji internetowej.

  1. W menu witryny Azure Portal wybierz pozycję Strona główna, a w usługach platformy Azure wybierz pozycję Wszystkie zasoby. Filtruj według typu == App Service, a następnie wybierz pozycję Zastosuj.

  2. Posortuj wynik według typu, a następnie wybierz utworzoną usługę App Service. Zostanie wyświetlone okienko App Service dla aplikacji internetowej.

  3. W menu usługi App Service w obszarze Wdrożenie wybierz pozycję Miejsca wdrożenia. Zostanie wyświetlone okienko Miejsca wdrożenia dla usługi App Service.

    Screenshot of the App Service menu with Deployment slots highlighted.

  4. Na pasku poleceń wybierz pozycję + Dodaj miejsce. Zostanie wyświetlone okienko Dodawanie miejsca .

  5. W polu Nazwa wprowadź Wartość przejściowa, zaakceptuj wartość domyślną ustawienia Klonuj z, a następnie wybierz pozycję Dodaj.

  6. Po pomyślnym utworzeniu miejsca wdrożenia wybierz pozycję Zamknij.

Konfigurowanie wdrożenia usługi git na potrzeby miejsca przejściowego

Skonfigurujmy nowe miejsce do korzystania z wdrożenia usługi Git.

  1. W witrynie Azure Portal wybierz pozycję Strona główna , a następnie z poziomu usług platformy Azure wybierz pozycję Wszystkie zasoby.

  2. Sortuj zasoby według grupy zasobów. dla grupy zasobów mslearn-slots zobaczysz dwa typy usługi App Service. Miejsca wdrożenia są reprezentowane jako oddzielne aplikacje w portalu.

  3. Wybierz miejsce przejściowe. Zostanie wyświetlone okienko Przegląd usługi App Service (miejsce).

  4. W menu Przejściowe w obszarze Wdrożenie wybierz pozycję Centrum wdrażania.

  5. Na karcie Ustawienia w polu Źródło wybierz pozycję Lokalne narzędzie Git, a następnie wybierz pozycję Zapisz na pasku poleceń, aby skonfigurować wdrożenie na potrzeby przemieszczania.

  6. W wynikowym okienku Centrum wdrażania wybierz kartę Poświadczenia lokalne usługi Git/FTPS .

  7. W obszarze Zakres użytkownika wprowadź wybraną nazwę użytkownika i hasło, a następnie wybierz pozycję Zapisz. Platforma Azure aktualizuje poświadczenia użytkownika. Zanotuj nazwę użytkownika i hasło do użycia później.

Konfigurowanie usługi git na potrzeby wdrażania aplikacji do miejsca przejściowego

Aby użyć klienta git do wdrożenia kodu źródłowego w nowym miejscu, dodajmy dodatkową zdalną konfigurację usługi Git.

  1. W menu usługi App Service wybierz pozycję Przegląd. Jeśli zostanie wyświetlony monit o zapisanie hasła dla nazwy użytkownika utworzonej w poprzednim zadaniu, wybierz pozycję Zapisz.

  2. W okienku Przegląd w sekcji Podstawy umieść kursor nad wartością adresu URL klonowania Git i wybierz ikonę Kopiuj do schowka. Pamiętaj, że adres URL zawiera nazwę użytkownika wdrożenia przejściowego.

    Uwaga

    Jeśli nie widzisz adresu URL klonowania git, odśwież portal. Należy pamiętać, że adres URL klonowania git dla przemieszczania różni się nieco od adresu URL miejsca produkcyjnego i zawiera nazwę miejsca.

  3. W usłudze Cloud Shell upewnij się, że jesteś w folderze ~/demoapp/app-service-web-dotnet-get-started, a następnie uruchom następujące polecenie, zastępując ciąg <git-clone-uri> adresem URL skopiowanym w poprzednim kroku.

    git remote add staging <git-clone-uri>
    

Modyfikowanie kodu źródłowego aplikacji i wdrażanie aplikacji w środowisku przejściowym

Następnie wprowadźmy niewielką zmianę w plikach aplikacji internetowej, a następnie użyjmy narzędzia git, aby wdrożyć nową wersję w miejscu przejściowym:

  1. W usłudze Cloud Shell uruchom poniższe polecenie.

    code .
    
  2. Na liście PLIKÓW rozwiń pozycję aspnet-get-started>Views Home folders (Widoki>główne) i wybierz pozycję Index.cshtml.

  3. Znajdź następujący kod HTML.

    <h1>ASP.NET</h1>
    
  4. Zastąp ten kod tym kodem HTML.

    <h1>Web App Version 2</h1>
    
  5. Naciśnij klawisze Ctrl+S , aby zapisać zmiany, a następnie naciśnij klawisze Ctrl+Q , aby zamknąć edytor.

  6. W usłudze Cloud Shell uruchom następujący kod, aby zatwierdzić nową wersję aplikacji w usłudze git i wdrożyć ją w miejscu przejściowym.

    git add .
    git commit -m "New version of web app."
    git push staging
    

    Po wyświetleniu monitu wprowadź hasło wdrożenia. Powiadomienia o operacjach w celu utworzenia i wdrożenia wyświetlania przejściowego w sesji usługi Cloud Shell i powinny wyświetlić komunikat Wdrożenie zakończyło się pomyślnie.

Przeglądanie miejsca przejściowego

Teraz możesz wyświetlić nową wersję aplikacji internetowej, przechodząc do adresu URL przejściowego miejsca wdrożenia.

  1. W witrynie Azure Portal w okienku Przegląd miejsca przejściowego wybierz pozycję Przeglądaj na pasku poleceń lub wybierz adres URL w domenie domyślnej. Strona główna przejściowej aplikacji internetowej w wersji 2 jest wyświetlana na karcie przeglądarki.

    Screenshot of the updated web app in the staging slot.

Gratulacje, utworzono miejsce przejściowe, które ma własną wersję kodu aplikacji internetowej i możesz uruchomić na nim testy. Pamiętaj, że miejsce produkcyjne zawiera wcześniejszą wersję aplikacji internetowej, a użytkownicy nie widzą jeszcze nowego kodu.