Udostępnij za pośrednictwem


Samouczek: wdrażanie aplikacji kontenera przy użyciu ciągłej integracji/ciągłego wdrażania w klastrze usługi Service Fabric

Niniejszy samouczek jest drugą częścią serii i zawiera opis sposobu konfiguracji ciągłej integracji i ciągłego wdrażania aplikacji kontenera usługi Azure Service Fabric za pomocą programu Visual Studio i usługi Azure DevOps. Wymagana jest istniejąca aplikacja usługi Service Fabric. Na potrzeby tego samouczka za przykład posłużyła aplikacja utworzona w temacie Samouczek: wdrażanie aplikacji .NET w kontenerze systemu Windows w usłudze Azure Service Fabric.

Część druga serii zawiera informacje na temat wykonywania następujących czynności:

  • Dodawanie kontroli źródła do projektu
  • Tworzenie definicji kompilacji w programie Visual Studio Team Explorer
  • Tworzenie definicji wydania w programie Visual Studio Team Explorer
  • Automatyczne wdrażanie i uaktualnianie aplikacji

Wymagania wstępne

Przed rozpoczęciem tego samouczka:

Przygotowywanie profilu publikowania

Teraz po wdrożeniu aplikacji kontenera wszystko jest gotowe do skonfigurowania ciągłej integracji. Najpierw przygotuj profil publikowania w aplikacji na potrzeby procesu wdrażania wykonywanego w ramach usługi Azure DevOps. Profil publikowania należy skonfigurować pod kątem klastra, który został wcześniej utworzony. Uruchom program Visual Studio i otwórz istniejący projekt aplikacji usługi Service Fabric. W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy aplikację i wybierz polecenie Opublikuj....

Wybierz profil docelowy w ramach projektu aplikacji na potrzeby przepływu pracy ciągłej integracji, na przykład chmurę. Określ punkt końcowy połączenia klastra. Zaznacz pole wyboru Uaktualnij aplikację, aby uaktualnić aplikację dla każdego wdrożenia w usłudze Azure DevOps. Kliknij hiperlink Zapisz, aby zapisać ustawienia w profilu publikowania, a następnie kliknij przycisk Anuluj w celu zamknięcia okna dialogowego.

Push profile

Udostępnianie rozwiązania programu Visual Studio w nowym repozytorium Git w usłudze Azure DevOps

Udostępnij pliki źródłowe swojej aplikacji w projekcie zespołowym usługi Azure DevOps, aby umożliwić generowanie kompilacji.

Utwórz nowe lokalne repozytorium Git dla projektu, wybierając pozycję Dodaj do kontroli źródła —> Git na pasku stanu w prawym dolnym rogu programu Visual Studio.

W widoku Wypychanie w programie Team Explorer wybierz przycisk Opublikuj repozytorium Git w obszarze Wypychanie do usługi Azure DevOps.

Screenshot of the Team Explorer - Synchronization window in Visual Studio. Under Push to Azure DevOps, the Publish to Git Repo button is highlighted.

Sprawdź swój adres e-mail i wybierz swoją organizację z listy rozwijanej Konta. Jeśli jeszcze nie masz organizacji, będzie trzeba ją skonfigurować. Wprowadź nazwę repozytorium i wybierz polecenie Publikuj repozytorium.

Screenshot of the Push to Azure DevOps window. The settings for Email, Account, Repository name, and the Publish Repository button are highlighted.

Opublikowanie repozytorium powoduje utworzenie nowego projektu zespołowego na Twoim koncie o takiej samej nazwie jak lokalne repozytorium. Aby utworzyć repozytorium w istniejącym projekcie zespołowym, kliknij pozycję Zaawansowane obok nazwy Repozytorium, a następnie wybierz projekt zespołowy. Aby wyświetlić kod w Internecie, wybierz polecenie Wyświetl w Internecie.

Konfigurowanie ciągłego dostarczania za pomocą usługi Azure Pipelines

Definicja kompilacji usługi Azure DevOps zawiera opis przepływu pracy, który składa się z zestawu kroków kompilacji wykonywanych sekwencyjnie. Utwórz definicję kompilacji, która spowoduje wygenerowanie pakietu aplikacji usługi Service Fabric i innych artefaktów, na potrzeby wdrożenia w klastrze usługi Service Fabric. Dowiedz się więcej o definicjach kompilacji usługi Azure DevOps.

Definicja wydania usługi Azure DevOps opisuje przepływ pracy, który wdraża pakiet aplikacji w klastrze. Jednoczesne użycie definicji kompilacji i definicji wydania powoduje wykonanie całego przepływu pracy, zaczynając od plików źródłowych, a kończąc na aplikacji uruchomionej w klastrze. Dowiedz się więcej o definicjach wydania usługi Azure DevOps.

Tworzenie definicji kompilacji

Otwórz nowy projekt zespołowy, przechodząc pod adres https://dev.azure.com w przeglądarce internetowej i wybierając swoją organizację, a następnie nowy projekt.

Wybierz opcję Potoki na panelu po lewej, a następnie kliknij pozycję Nowy potok.

Uwaga

Jeśli nie widzisz szablonu definicji kompilacji, upewnij się, że funkcja Nowe środowisko tworzenia potoków przy użyciu kodu YAML została wyłączona. Ta funkcja jest konfigurowana w sekcji Funkcje w wersji zapoznawczej konta metodyki DevOps.

New Pipeline

Wybierz pozycję Azure Repos Git jako źródło, nazwę Twojego projektu zespołowego, Twoje repozytorium projektu i domyślną gałąź master lub kompilacje ręczne i zaplanowane. Następnie kliknij pozycję Kontynuuj.

W obszarze Wybieranie szablonu wybierz szablon Aplikacja usługi Azure Service Fabric z obsługą platformy Docker, a następnie kliknij przycisk Zastosuj.

Choose build template

W obszarze Zadania wybierz Hostowany program VS2017 jako Pulę agentów.

Select tasks

Kliknij opcję Tagowanie obrazów.

W obszarze Typ rejestru kontenerów wybierz pozycję Azure Container Registry. Wybierz wartość pola Subskrypcja platformy Azure, a następnie kliknij opcję Autoryzuj. Wybierz wartość pola Azure Container Registry.

Select Docker Tag images

Kliknij opcję Wypychanie obrazów.

W obszarze Typ rejestru kontenerów wybierz pozycję Azure Container Registry. Wybierz wartość pola Subskrypcja platformy Azure, a następnie kliknij opcję Autoryzuj. Wybierz wartość pola Azure Container Registry.

Select Docker Push images

Na karcie Wyzwalacze włącz ciągłą integrację, zaznaczając pozycję Włącz ciągłą integrację. W obszarze Filtry gałęzi kliknij pozycję + Dodaj, a wartość domyślna pozycji Specyfikacja gałęzi zostanie ustawiona na master.

W oknie dialogowym Zapisywanie potoku i kolejki kompilacji kliknij pozycję Zapisz i umieść w kolejce, aby ręcznie uruchomić kompilację.

Select triggers

Kompilacje można również wyzwalać w ramach procesu wypychania lub ewidencjonowania. Aby sprawdzić postęp kompilacji, przejdź do karty Kompilacje . Po upewnieniu się, że kompilacja zostanie wykonana pomyślnie, zdefiniuj definicję wydania, która wdraża aplikację w klastrze.

Tworzenie definicji wydania

Wybierz opcję Potoki na panelu po lewej, a następnie pozycje Wydania i + Nowy potok. W obszarze Wybieranie szablonu wybierz z listy szablon Wdrożenie usługi Azure Service Fabric, a następnie przycisk Zastosuj.

Choose release template

Wybierz pozycję Zadania, Środowisko 1, a następnie pozycję +Nowe, aby dodać nowe połączenie klastra.

Add cluster connection

W widoku Dodaj nową usługę Service Fabric Połączenie ion wybierz pozycję Uwierzytelnianie oparte na certyfikatach lub Identyfikator entra firmy Microsoft. Określ nazwę połączenia dla klastra „mysftestcluster” i następujący punkt końcowy klastra „tcp://mysftestcluster.southcentralus.cloudapp.azure.com:19000” (lub punkt końcowy klastra, w którym przeprowadzane jest wdrożenie).

W przypadku uwierzytelniania opartego na certyfikatach dodaj Odcisk palca certyfikatu serwera dla certyfikatu serwera, którego użyto do utworzenia klastra. W obszarze Certyfikat klienta dodaj plik certyfikatu klienta zakodowany przy użyciu kodowania base-64. Zobacz pomoc podręczną dla tego pola, aby uzyskać informacje dotyczące sposobu uzyskania reprezentacji certyfikatu w kodowaniu base-64. Dodaj również Hasło certyfikatu. Jeśli nie masz osobnego certyfikatu klienta, możesz użyć certyfikatu klastra lub serwera.

W przypadku poświadczeń usługi Microsoft Entra dodaj odcisk palca certyfikatu serwera certyfikatu serwera używanego do utworzenia klastra oraz poświadczenia, których chcesz użyć do nawiązania połączenia z klastrem w polach Nazwa użytkownika i Hasło .

Kliknij przycisk Dodaj, aby zapisać połączenie klastra.

W obszarze Faza agenta, kliknij opcję Wdrażanie aplikacji usługi Service Fabric. Kliknij przycisk Ustawienia platformy Docker, a następnie opcję Konfiguruj ustawienia platformy Docker. W obszarze Źródło poświadczeń rejestru wybierz opcję Połączenie usługi Azure Resource Manager. Następnie wybierz swoją subskrypcję platformy Azure.

Release pipeline agent

Następnie dodaj artefakt kompilacji do potoku, aby umożliwić definicji wydania odnalezienie danych wyjściowych kompilacji. Wybierz pozycję Potok i artefakty ->+Dodaj. W obszarze Źródło (definicja kompilacji) wybierz wcześniej utworzoną definicję kompilacji. Kliknij przycisk Dodaj, aby zapisać artefakt kompilacji.

Add artifact

Włącz wyzwalacz ciągłego wdrażania, aby umożliwić automatyczne tworzenie wydania po zakończeniu kompilacji. Kliknij ikonę pioruna w artefakcie, włącz wyzwalacz, a następnie kliknij przycisk Zapisz w celu zapisania definicji wydania.

Enable trigger

Wybierz pozycję + Wydanie —> Utwórz wydanie —> Utwórz , aby ręcznie utworzyć wydanie. Postęp wydawania możesz monitorować na karcie Wydania.

Sprawdź, czy wdrożenie zakończyło się pomyślnie, a aplikacja została uruchomiona w klastrze. Otwórz przeglądarkę internetową i przejdź pod adres http://mysftestcluster.southcentralus.cloudapp.azure.com:19080/Explorer/. Zwróć uwagę na wersję aplikacji. W tym przykładzie jest to „1.0.0.20170616.3”.

Zatwierdzanie i wypychanie zmian, wyzwalanie wydania

Aby upewnić się, że potok ciągłej integracji działa prawidłowo, zaewidencjonuj zmiany kodu w usłudze Azure DevOps.

Podczas pisania kodu zmiany są automatycznie śledzone przez program Visual Studio. Zatwierdź zmiany w lokalnym repozytorium Git, wybierając ikonę oczekujących zmian (Pending changes icon shows a pencil and a number.) na pasku stanu w prawym dolnym rogu.

W widoku Zmiany programu Team Explorer dodaj komunikat opisujący aktualizację i zatwierdź wprowadzone zmiany.

Commit all

Wybierz ikonę paska stanu nieopublikowanych zmian (Unpublished changes) lub widok Synchronizacja w programie Team Explorer. Wybierz pozycję Wypchnij, aby zaktualizować kod w usłudze Azure DevOps Services.

Push changes

Wypychanie zmian do usługi Azure DevOps automatycznie wyzwala kompilację. Po pomyślnym zakończeniu definicji kompilacji automatycznie tworzone jest wydanie, które rozpoczyna uaktualnianie aplikacji w klastrze.

Aby sprawdzić postęp kompilacji, przejdź do karty Kompilacje modułu Team Explorer w programie Visual Studio. Po upewnieniu się, że kompilacja jest wykonywana prawidłowo, określ definicję wydania, która wdraża aplikację w klastrze.

Sprawdź, czy wdrożenie zakończyło się pomyślnie, a aplikacja została uruchomiona w klastrze. Otwórz przeglądarkę internetową i przejdź pod adres http://mysftestcluster.southcentralus.cloudapp.azure.com:19080/Explorer/. Zwróć uwagę na wersję aplikacji. W tym przykładzie jest to „1.0.0.20170815.3”.

Screenshot of the Voting app in Service Fabric Explorer. In the Essentials tab, the app version

Aktualizowanie aplikacji

Wprowadź zmiany w kodzie aplikacji. Zapisz i zatwierdź zmiany, postępując zgodnie z poprzednimi krokami.

Po rozpoczęciu uaktualnienia aplikacji możesz obserwować jego postęp w narzędziu Service Fabric Explorer:

Screenshot of the Voting app in Service Fabric Explorer. An

Uaktualnianie aplikacji może potrwać kilka minut. Po zakończeniu uaktualniania aplikacja zostanie uruchomiona w następnej wersji. W tym przykładzie „1.0.0.20170815.4”.

Screenshot of the Voting app in Service Fabric Explorer. In the Essentials tab, the updated app version

Następne kroki

W tym samouczku zawarto informacje na temat wykonywania następujących czynności:

  • Dodawanie kontroli źródła do projektu
  • Tworzenie definicji kompilacji
  • Tworzenie definicji wydania
  • Automatyczne wdrażanie i uaktualnianie aplikacji

W następnej części tego samouczka dowiesz się, jak skonfigurować monitorowanie kontenera.