Ćwiczenie — konfigurowanie środowiska usługi Azure DevOps

Ukończone

W tej sekcji upewnisz się, że organizacja usługi Azure DevOps została skonfigurowana w celu ukończenia pozostałej części tego modułu. Utworzysz również środowiska usługi aplikacja systemu Azure, w których wdrożysz.

Aby skonfigurować system, wykonasz następujące elementy:

  • Dodaj użytkownika, aby upewnić się, że usługa Azure DevOps może nawiązać połączenie z subskrypcją platformy Azure.
  • Skonfiguruj projekt usługi Azure DevOps dla tego modułu.
  • W usłudze Azure Boards przenieś element roboczy dla tego modułu do kolumny Doing (Wykonywanie ).
  • Utwórz środowiska usługi aplikacja systemu Azure przy użyciu interfejsu wiersza polecenia platformy Azure w usłudze Azure Cloud Shell.
  • Utwórz zmienne potoku, które definiują nazwy środowisk usługi App Service.
  • Utwórz połączenie usługi, które umożliwia usłudze Azure Pipelines bezpieczny dostęp do subskrypcji platformy Azure.

Dodawanie użytkownika do usługi Azure DevOps

Do ukończenia tego modułu potrzebna jest własna subskrypcja platformy Azure. Możesz bezpłatnie rozpocząć pracę z platformą Azure.

Chociaż nie potrzebujesz subskrypcji platformy Azure do pracy z usługą Azure DevOps, w tym module użyjesz usługi Azure DevOps do wdrożenia w zasobach, które istnieją w ramach subskrypcji platformy Azure. Aby uprościć ten proces, należy użyć tego samego konta Microsoft, aby zalogować się zarówno do subskrypcji platformy Azure, jak i organizacji usługi Azure DevOps.

Jeśli używasz różnych kont Microsoft do logowania się do platformy Azure i usługi Azure DevOps, dodaj użytkownika do organizacji DevOps w ramach konta Microsoft używanego do logowania się na platformie Azure. Aby uzyskać więcej informacji, zobacz Dodawanie użytkowników do organizacji lub projektu. Po dodaniu użytkownika wybierz poziom dostępu Podstawowy .

Następnie wyloguj się z usługi Azure DevOps i zaloguj się ponownie na koncie Microsoft używanym do logowania się do subskrypcji platformy Azure.

Pobieranie projektu usługi Azure DevOps

W tym miejscu upewnij się, że organizacja usługi Azure DevOps została skonfigurowana w celu ukończenia pozostałej części tego modułu. Zaczniesz od uruchomienia szablonu, który tworzy projekt w usłudze Azure DevOps.

Moduły w tej ścieżce szkoleniowej są częścią postępu, który jest następstwem zespołu internetowego Tailspin w ramach swojej podróży devOps. Dla celów szkoleniowych każdy moduł ma skojarzony projekt usługi Azure DevOps.

Uruchamianie szablonu

Uruchom szablon, który konfiguruje organizację usługi Azure DevOps.

W witrynie generatora demonstracyjnego usługi Azure DevOps wykonaj następujące kroki, aby uruchomić szablon.

  1. Wybierz pozycję Zaloguj się i zaakceptuj warunki użytkowania.

  2. Na stronie Tworzenie nowego projektu wybierz organizację usługi Azure DevOps, a następnie wprowadź nazwę projektu, taką jak Space Game — web — testy niefunkcjonalne.

    Screenshot for Creating a project through the Azure DevOps Demo Generator.

  3. Wybierz pozycję Tak, chcę rozwidlić to repozytorium, a następnie wybierz pozycję Autoryzuj.

  4. Wybierz pozycję Utwórz projekt.

    Uruchomienie szablonu zajmuje kilka chwil.

  5. Wybierz pozycję Przejdź do projektu , aby przejść do projektu w usłudze Azure DevOps.

Ważne

Na stronie Czyszczenie środowiska usługi Azure DevOps w tym module znajdują się ważne kroki czyszczenia. Czyszczenie pomaga oszczędzać bezpłatne minuty przeznaczone na kompilację. Pamiętaj, aby wykonać kroki czyszczenia, nawet jeśli nie ukończono tego modułu.

Ustawianie widoczności projektu

Początkowo rozwidlenie repozytorium Space Game w usłudze GitHub jest ustawione na publiczne, podczas gdy projekt utworzony przez szablon usługi Azure DevOps jest ustawiony na prywatny. Do repozytorium publicznego w usłudze GitHub można uzyskać dostęp dowolnej osobie, natomiast prywatne repozytorium jest dostępne tylko dla Ciebie i osób, którym chcesz je udostępnić. Podobnie w usłudze Azure DevOps publiczne projekty zapewniają dostęp tylko do odczytu użytkownikom nieuwierzytelnionemu, podczas gdy projekty prywatne wymagają od użytkowników udzielenia dostępu i uwierzytelnienia w celu uzyskania dostępu do usług.

W tej chwili nie jest konieczne zmodyfikowanie żadnego z tych ustawień na potrzeby tego modułu. Jednak w przypadku projektów osobistych musisz określić widoczność i dostęp, który chcesz udzielić innym osobom. Jeśli na przykład projekt jest projektem typu open source, możesz zdecydować się na upublicznienie zarówno repozytorium GitHub, jak i projektu usługi Azure DevOps. Jeśli projekt jest zastrzeżony, zazwyczaj zarówno repozytorium GitHub, jak i projekt usługi Azure DevOps są prywatne.

W dalszej części możesz znaleźć następujące zasoby pomocne podczas określania, która opcja jest najlepsza dla projektu:

Konfigurowanie projektu lokalnie

W tym miejscu załadujesz projekt Space Game w programie Visual Studio Code, skonfigurujesz repozytorium Git, sklonujesz repozytorium lokalnie i skonfigurujesz zdalny nadrzędny kod, aby można było pobrać kod startowy.

Uwaga

Jeśli masz już skonfigurowany projekt mslearn-tailspin-spacegame-web-deploy lokalnie, możesz przejść do następnej sekcji.

Otwieranie zintegrowanego terminalu

Program Visual Studio Code jest dostarczany ze zintegrowanym terminalem. W tym miejscu możesz edytować pliki i pracować z poziomu wiersza polecenia.

  1. Uruchom program Visual Studio Code.

  2. W menu Widok wybierz pozycję Terminal.

  3. Z listy rozwijanej wybierz pozycję Git Bash. Jeśli znasz inną powłokę systemu Unix, której chcesz użyć, wybierz tę powłokę.

    A screenshot of Visual Studio Code showing the location of the Git Bash shell.

    W oknie terminalu możesz wybrać dowolną powłokę zainstalowaną w systemie. Możesz na przykład wybrać powłokę Git Bash lub PowerShell albo inną powłokę.

    W tym miejscu użyjesz powłoki Git Bash, części narzędzia Git dla systemu Windows, co ułatwia uruchamianie poleceń git.

    Uwaga

    Jeśli w systemie Windows nie widzisz powłoki Git Bash jako opcji, upewnij się, że zainstalowano narzędzie Git, a następnie uruchom ponownie program Visual Studio Code.

  4. Uruchom polecenie , cd aby przejść do katalogu, w którym chcesz pracować. Wybierz katalog główny (~) lub inny katalog, jeśli chcesz.

    cd ~
    

Konfigurowanie usługi Git

Jeśli dopiero zaczynasz korzystać z usług Git i GitHub, najpierw uruchom kilka poleceń, aby skojarzyć swoją tożsamość z usługą Git i uwierzytelnić się w usłudze GitHub. Aby uzyskać więcej informacji, zobacz Konfigurowanie usługi Git.

Co najmniej należy wykonać poniższe kroki. Uruchom polecenia ze zintegrowanego terminalu.

  1. Ustaw nazwę użytkownika.
  2. Ustaw adres e-mail zatwierdzenia.
  3. Buforuj hasło usługi GitHub.

Uwaga

Jeśli używasz już uwierzytelniania dwuskładnikowego w usłudze GitHub, utwórz osobisty token dostępu. Po wyświetleniu monitu użyj tokenu zamiast hasła.

Traktuj token dostępu, taki jak hasło. Zachowaj je w bezpiecznym miejscu.

Konfigurowanie projektu w programie Visual Studio Code

W ścieżce szkoleniowej Tworzenie aplikacji za pomocą usługi Azure DevOps rozwidlenie i sklonowanie repozytorium Git. Repozytorium zawiera kod źródłowy witryny internetowej Space Game . Rozwidlenie zostało połączone z projektami w usłudze Azure DevOps, aby kompilacja była uruchamiana podczas wypychania zmian do usługi GitHub.

Ważne

W tej ścieżce szkoleniowej przejdziemy do innego repozytorium Git, mslearn-tailspin-spacegame-web-deploy. Po uruchomieniu szablonu w celu skonfigurowania projektu usługi Azure DevOps proces automatycznie rozwidlił repozytorium.

W tej części sklonujesz rozwidlenie lokalne, aby można było zmienić i skompilować konfigurację potoku.

Klonowanie rozwidlenia lokalnie

Masz teraz kopię projektu internetowego Space Game na swoim koncie usługi GitHub. Teraz pobierzesz lub sklonujesz kopię na komputer, aby móc z nim pracować.

Klon, podobnie jak rozwidlenie, jest kopią repozytorium. Podczas klonowania repozytorium możesz wprowadzić zmiany, sprawdzić, czy działają zgodnie z oczekiwaniami, a następnie przekazać te zmiany do usługi GitHub. Możesz również zsynchronizować kopię lokalną ze zmianami, które inni uwierzytelnieni użytkownicy dokonali w kopii repozytorium GitHub.

Aby sklonować projekt internetowy Space Game na komputer:

  1. Przejdź do rozwidlenia projektu internetowego Space Game (mslearn-tailspin-spacegame-web-deploy) w witrynie GitHub.

  2. Wybierz pozycję Kod. Następnie na karcie HTTPS wybierz przycisk obok wyświetlanego adresu URL, aby skopiować adres URL do schowka.

    Screenshot that shows how to locate the URL and copy button from the GitHub repository.

  3. W programie Visual Studio Code przejdź do okna terminalu.

  4. W terminalu przejdź do katalogu, w którym chcesz pracować. Wybierz katalog główny (~) lub inny katalog, jeśli chcesz.

    cd ~
    
  5. Uruchom polecenie git clone. Zastąp adres URL widoczny tutaj zawartością schowka:

    git clone https://github.com/your-name/mslearn-tailspin-spacegame-web-deploy.git
    
  6. Przejdź do mslearn-tailspin-spacegame-web-deploy katalogu. Jest to katalog główny Twojego repozytorium.

    cd mslearn-tailspin-spacegame-web-deploy
    

Konfigurowanie nadrzędnego połączenia zdalnego

Zdalne to repozytorium Git, w którym członkowie zespołu współpracują (na przykład repozytorium w usłudze GitHub). W tym miejscu możesz wyświetlić listę zdalnych i dodać zdalny, który wskazuje kopię repozytorium firmy Microsoft, aby uzyskać najnowszy przykładowy kod.

  1. Uruchom to git remote polecenie, aby wyświetlić listę zdalnych:

    git remote -v
    

    Zobaczysz, że masz dostęp zarówno do pobierania (pobierania), jak i wypychania (przekazywania) do repozytorium:

    origin  https://github.com/username/mslearn-tailspin-spacegame-web-deploy.git (fetch)
    origin  https://github.com/username/mslearn-tailspin-spacegame-web-deploy.git (push)
    

    Źródło określa repozytorium w usłudze GitHub. W przypadku rozwidlenia kodu z innego repozytorium oryginalne zdalne (rozwidlenie z) jest często nazywane nadrzędnym elementem.

  2. Uruchom to git remote add polecenie, aby utworzyć zdalny nazwany nadrzędny, który wskazuje repozytorium firmy Microsoft:

    git remote add upstream https://github.com/MicrosoftDocs/mslearn-tailspin-spacegame-web-deploy.git
    
  3. Uruchom ponownie polecenie git remote , aby zobaczyć zmiany:

    git remote -v
    

    Zobaczysz, że nadal masz dostęp do pobierania (pobierania) i wypychania (przekazywania) do repozytorium. Teraz masz również dostęp do repozytorium firmy Microsoft:

    origin  https://github.com/username/mslearn-tailspin-spacegame-web-deploy.git (fetch)
    origin  https://github.com/username/mslearn-tailspin-spacegame-web-deploy.git (push)
    upstream        https://github.com/MicrosoftDocs/mslearn-tailspin-spacegame-web-deploy.git (fetch)
    

Otwieranie projektu w Eksploratorze plików

W programie Visual Studio Code okno terminala wskazuje katalog główny projektu witryny gry Space Game. Aby wyświetlić jego strukturę i pracować z plikami, w Eksploratorze plików zostanie otwarty projekt.

  1. Najprostszym sposobem otwarcia projektu jest ponowne otwarcie programu Visual Studio Code w bieżącym katalogu. W tym celu uruchom następujące polecenie w zintegrowanym terminalu:

    code -r .
    

    Katalog i drzewo plików zostaną wyświetlone w eksploratorze plików.

  2. Otwórz ponownie zintegrowany terminal. Terminal umieszcza Cię w katalogu głównym projektu internetowego.

Jeśli polecenie zakończy się niepowodzeniem code , musisz dodać program Visual Studio Code do ścieżki systemowej. Aby to zrobić:

  1. W programie Visual Studio Code wybierz pozycję F1 lub wybierz pozycję Wyświetl>paletę poleceń, aby uzyskać dostęp do palety poleceń.
  2. W palecie poleceń wprowadź polecenie Powłoka: Zainstaluj polecenie "code" w ścieżce PATH.
  3. Powtórz poprzednią procedurę, aby otworzyć projekt w Eksploratorze plików.

Teraz skonfigurujesz pracę z kodem źródłowym Space Game i konfiguracją usługi Azure Pipelines z lokalnego środowiska deweloperskiego.

Tworzenie środowisk usługi aplikacja systemu Azure

W tym miejscu utworzysz środowiska definiujące etapy potoku. Utworzysz jedno wystąpienie usługi App Service odpowiadające każdemu etapowi: tworzenie, testowanie i przemieszczanie.

W poprzednich modułach użyto interfejsu wiersza polecenia platformy Azure do utworzenia wystąpień usługi App Service. W tym miejscu zrobisz to samo.

Ważne

Pamiętaj, że do wykonania ćwiczeń w tym module potrzebna jest własna subskrypcja platformy Azure.

Tworzenie usługi Cloud Shell za pośrednictwem witryny Azure Portal

  1. Przejdź do witryny Azure Portal i zaloguj się.
  2. Na pasku menu wybierz pozycję Cloud Shell. Po wyświetleniu monitu wybierz środowisko powłoki Bash .

Wybieranie regionu platformy Azure

W tym miejscu należy określić domyślny region lub lokalizację geograficzną, w której mają zostać utworzone zasoby platformy Azure.

  1. W usłudze Cloud Shell uruchom następujące az account list-locations polecenie, aby wyświetlić listę regionów dostępnych w ramach subskrypcji platformy Azure.

    az account list-locations \
      --query "[].{Name: name, DisplayName: displayName}" \
      --output table
    
  2. W kolumnie Nazwa w danych wyjściowych wybierz region, który jest blisko Ciebie. Na przykład wybierz eastasia lub westus2.

  3. Uruchom polecenie az configure , aby ustawić domyślny region. Zastąp ciąg <REGION> nazwą wybranego regionu.

    az configure --defaults location=<REGION>
    

    Oto przykład, który ustawia westus2 jako region domyślny:

    az configure --defaults location=westus2
    

Tworzenie wystąpień usługi App Service

W tym miejscu utworzysz wystąpienia usługi App Service dla trzech etapów, w których wdrożysz: tworzenie, testowanie i przemieszczanie.

Uwaga

W celach szkoleniowych użyj domyślnych ustawień sieciowych. Te ustawienia sprawiają, że witryna jest dostępna z Internetu. W praktyce można skonfigurować sieć wirtualną platformy Azure, która umieszcza witrynę internetową w sieci, która nie jest routingiem z Internetu i jest dostępna tylko dla Twojego zespołu. Później, gdy wszystko będzie gotowe, możesz ponownie skonfigurować sieć, aby udostępnić witrynę internetową użytkownikom.

  1. W usłudze Cloud Shell wygeneruj losową liczbę, która sprawia, że nazwa domeny aplikacji internetowej jest unikatowa.

    webappsuffix=$RANDOM
    
  2. Uruchom następujące az group create polecenie, aby utworzyć grupę zasobów o nazwie tailspin-space-game-rg.

    az group create --name tailspin-space-game-rg
    
  3. Uruchom następujące az appservice plan create polecenie, aby utworzyć plan usługi App Service o nazwie tailspin-space-game-asp.

    az appservice plan create \
      --name tailspin-space-game-asp \
      --resource-group tailspin-space-game-rg \
      --sku B1 \
      --is-linux
    

    Argument --sku określa plan B1 uruchamiany w warstwie Podstawowa. Argument --is-linux określa użycie procesów roboczych systemu Linux.

    Ważne

    Jeśli jednostka SKU B1 nie jest dostępna w ramach subskrypcji platformy Azure, wybierz inny plan, taki jak S1 (Standardowa).

  4. Uruchom następujące az webapp create polecenia, aby utworzyć trzy wystąpienia usługi App Service, po jednym dla każdego środowiska deweloperskiego, testowego i przejściowego .

    az webapp create \
      --name tailspin-space-game-web-dev-$webappsuffix \
      --resource-group tailspin-space-game-rg \
      --plan tailspin-space-game-asp \
      --runtime "DOTNET|6.0"
    
    az webapp create \
      --name tailspin-space-game-web-test-$webappsuffix \
      --resource-group tailspin-space-game-rg \
      --plan tailspin-space-game-asp \
      --runtime "DOTNET|6.0"
    
    az webapp create \
      --name tailspin-space-game-web-staging-$webappsuffix \
      --resource-group tailspin-space-game-rg \
      --plan tailspin-space-game-asp \
      --runtime "DOTNET|6.0"
    

    W celach szkoleniowych zastosujesz ten sam plan usługi App Service, B1 Basic, do każdego wystąpienia usługi App Service. W praktyce należy przypisać plan zgodny z oczekiwanym obciążeniem.

  5. Uruchom następujące az webapp list polecenie, aby wyświetlić nazwę hosta i stan każdego wystąpienia usługi App Service.

    az webapp list \
      --resource-group tailspin-space-game-rg \
      --query "[].{hostName: defaultHostName, state: state}" \
      --output table
    

    Zanotuj nazwę hosta dla każdej uruchomionej usługi. Te nazwy hostów będą potrzebne później podczas weryfikowania pracy. Oto przykład:

    HostName                                                 State
    -------------------------------------------------------  -------
    tailspin-space-game-web-dev-21017.azurewebsites.net      Running
    tailspin-space-game-web-test-21017.azurewebsites.net     Running
    tailspin-space-game-web-staging-21017.azurewebsites.net  Running
    
  6. Opcjonalnie przejdź do co najmniej jednej z wymienionych nazw, aby sprawdzić, czy są uruchomione i czy zostanie wyświetlona domyślna strona główna.

    Zostanie wyświetlona ta strona:

    Screenshot of the default home page on Azure App Service.

Ważne

Na stronie Czyszczenie środowiska usługi Azure DevOps w tym module znajdują się ważne kroki czyszczenia. Czyszczenie pomaga zagwarantować, że po ukończeniu tego modułu nie są naliczane opłaty za zasoby platformy Azure. Pamiętaj, aby wykonać kroki oczyszczania, nawet jeśli nie ukończysz tego modułu.

Tworzenie zmiennych potoku w usłudze Azure Pipelines

W obszarze Uruchamianie testów funkcjonalnych w usłudze Azure Pipelines dodano jedną zmienną dla każdego wystąpienia usługi App Service. Wystąpienia odpowiadają etapom tworzenia, testowania i przemieszczania w potoku. W tym miejscu będziesz postępować zgodnie z tym samym wzorcem.

Każdy etap konfiguracji potoku używa zmiennych, aby zidentyfikować wystąpienie usługi App Service do wdrożenia.

Aby dodać zmienne:

  1. W usłudze Azure DevOps przejdź do projektu Space Game — web — testy niefunkcjonalne .

  2. W obszarze Potoki wybierz pozycję Biblioteka.

    Screenshot of Azure Pipelines, showing the Library menu option.

  3. Wybierz pozycję + Grupa zmiennych.

  4. W polu Nazwa grupy zmiennych w obszarze Właściwości wprowadź wartość Release.

  5. W obszarze Zmienne wybierz pozycję + Dodaj.

  6. Jako nazwę zmiennej wprowadź wartość WebAppNameDev. Jako wartość wprowadź nazwę wystąpienia usługi App Service, które odpowiada twojemu środowisku deweloperskiemu , takie jak tailspin-space-game-web-dev-1234.

  7. Powtórz kroki 5 i 6 razy więcej, aby utworzyć zmienne dla środowisk testowych i przejściowych , jak pokazano w poniższej tabeli:

    Nazwa zmiennej Przykładowa wartość
    WebAppNameTest tailspin-space-game-web-test-1234
    WebAppNameStaging tailspin-space-game-web-staging-1234

    Pamiętaj, aby zastąpić każdą przykładową wartość wystąpieniem usługi App Service, które odpowiada twojemu środowisku.

    Ważne

    Upewnij się, że ustawiono nazwę wystąpienia usługi App Service, a nie nazwę hosta. W tym przykładzie należy wprowadzić frazę tailspin-space-game-web-dev-1234 , a nie tailspin-space-game-web-dev-1234.azurewebsites.net.

  8. Aby zapisać zmienną w potoku, wybierz pozycję Zapisz w górnej części strony.

    Grupa zmiennych przypomina następującą:

    Screenshot of Azure Pipelines, showing the variable group. The group contains three variables.

Tworzenie środowisk deweloperskich, testowych i przejściowych

W obszarze Uruchamianie testów funkcjonalnych w usłudze Azure Pipelines utworzono środowiska dla środowisk deweloperskich, testowych i przejściowych . W tym miejscu powtórzysz ten proces.

Aby utworzyć środowiska deweloperskie, testowe i przejściowe :

  1. W obszarze Azure Pipelines wybierz pozycję Środowiska.

    Screenshot of Azure Pipelines showing the location of the Environments menu option.

  2. Aby utworzyć środowisko deweloperskie:

    1. Wybierz pozycję Utwórz środowisko.
    2. W obszarze Nazwa wprowadź wartość dev.
    3. Pozostaw wartości domyślne pozostałych pól.
    4. Wybierz pozycję Utwórz.
  3. Aby utworzyć środowisko testowe:

    1. Wróć do strony Środowiska .
    2. Wybierz pozycję Nowe środowisko.
    3. W obszarze Nazwa wprowadź wartość test.
    4. Wybierz pozycję Utwórz.
  4. Aby utworzyć środowisko przejściowe :

    1. Wróć do strony Środowiska .
    2. Wybierz pozycję Nowe środowisko.
    3. W obszarze Nazwa wprowadź przemieszczanie.
    4. Wybierz pozycję Utwórz.

Tworzenie połączenia z usługą

W tym miejscu utworzysz połączenie usługi, które umożliwia usłudze Azure Pipelines dostęp do subskrypcji platformy Azure. Usługa Azure Pipelines używa tego połączenia usługi do wdrożenia witryny internetowej w usłudze App Service. W poprzednim module utworzono podobne połączenie usługi.

Ważne

Upewnij się, że zalogowaliśmy się zarówno do witryny Azure Portal, jak i usługi Azure DevOps na tym samym koncie Microsoft.

  1. W usłudze Azure DevOps przejdź do projektu Space Game — web — testy niefunkcjonalne .

  2. W dolnym rogu strony wybierz pozycję Ustawienia projektu.

  3. W obszarze Potoki wybierz pozycję Połączenia z usługą.

  4. Wybierz pozycję Nowe połączenie z usługą, a następnie wybierz pozycję Azure Resource Manager, a następnie wybierz pozycję Dalej.

  5. W górnej części strony jednostka usługi (automatyczna). Następnie kliknij przycisk Dalej.

  6. Wypełnij następujące pola:

    Pole Wartość
    Poziom zakresu Subskrypcja
    Subskrypcja Subskrypcja platformy Azure
    Grupa zasobów tailspin-space-game-rg
    Nazwa połączenia z usługą Resource Manager — Tailspin — gra kosmiczna

    Podczas tego procesu może zostać wyświetlony monit o zalogowanie się do konta Microsoft.

  7. Upewnij się, że wybrano opcję Udziel uprawnień dostępu do wszystkich potoków .

  8. Wybierz pozycję Zapisz.

    Usługa Azure DevOps wykonuje testowe połączenie, aby sprawdzić, czy może nawiązać połączenie z subskrypcją platformy Azure. Jeśli usługa Azure DevOps nie może nawiązać połączenia, możesz zalogować się po raz drugi.