Samouczek: Ciągła integracja szablonów ARM z Azure Pipelines

W poprzednim samouczkuzostanie wdrożony połączony szablon. W ramach tego samouczka nauczysz się używać Azure Pipelines do ciągłego kompilowania i wdrażania projektów Azure Resource Manager szablon (szablon ARM).

Usługa Azure DevOps zapewnia usługi deweloperskie do obsługi zespołów do planowania pracy, współpracy nad programowaniem kodu oraz kompilowania i wdrażania aplikacji. Deweloperzy mogą korzystać z chmury, korzystając z Azure DevOps Services. Usługa Azure DevOps udostępnia zintegrowany zestaw funkcji, do których można uzyskać dostęp za pomocą przeglądarki sieci Web lub klienta IDE. Potok platformy Azure jest jedną z tych funkcji. Azure Pipelines to w pełni oferowana usługa ciągłej integracji (CI) i ciągłe dostarczanie (CD). Współpracuje z preferowanym dostawcą usługi git i można wdrożyć w większości najważniejszych usług w chmurze. Następnie można zautomatyzować kompilowanie, testowanie i wdrażanie kodu w celu Microsoft Azure, Google Cloud Platform lub Amazon Web Services.

Uwaga

Wybierz nazwę projektu. Podczas przechodzenia przez samouczek Zastąp dowolną AzureRmPipeline nazwą projektu. Ta nazwa projektu służy do generowania nazw zasobów. Jednym z zasobów jest konto magazynu. Nazwy kont magazynu muszą mieć długość od 3 do 24 znaków i używać tylko cyfr i małych liter. Nazwa musi być unikatowa. W szablonie nazwa konta magazynu to nazwa projektu z dołączonym magazynem , a nazwa projektu musi zawierać od 3 do 11 znaków. Nazwa projektu musi być zgodna z wymaganiami dotyczącymi nazwy konta magazynu i ma mniej niż 11 znaków.

Ten samouczek obejmuje następujące zadania:

  • Przygotowywanie repozytorium GitHub
  • Tworzenie projektu usługi Azure DevOps
  • Tworzenie potoku platformy Azure
  • Weryfikowanie wdrożenia potoku
  • Zaktualizuj szablon i Wdróż ponownie
  • Czyszczenie zasobów

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

Wymagania wstępne

Aby ukończyć pracę z tym artykułem, potrzebne są następujące zasoby:

Przygotowywanie repozytorium GitHub

GitHub służy do przechowywania kodu źródłowego projektu, w tym Menedżer zasobów szablonów. W przypadku innych obsługiwanych repozytoriów zobacz repozytoria obsługiwane przez usługę Azure DevOps.

Tworzenie repozytorium GitHub

Jeśli nie masz konta usługi GitHub, zapoznaj się z tematem wymagania wstępne.

  1. Zaloguj się do usługi GitHub.

  2. Wybierz swój obraz konta w prawym górnym rogu, a następnie wybierz swoje repozytoria.

    Azure Resource Manager Azure DevOps Azure Pipelines Tworzenie repozytorium GitHub

  3. Wybierz pozycję Nowy, zielony przycisk.

  4. W polu Nazwa repozytorium wprowadź nazwę repozytorium. Na przykład AzureRmPipeline-repozytorium. Pamiętaj, aby zastąpić dowolną AzureRmPipeline nazwą projektu. Możesz wybrać opcję publiczny lub prywatny do przechodzenia przez ten samouczek. A następnie wybierz pozycję Utwórz repozytorium.

  5. Zapisz adres URL. Adres URL repozytorium ma następujący format: https://github.com/[YourAccountName]/[YourRepositoryName] .

To repozytorium jest określane jako zdalne repozytorium. Każdy deweloper tego samego projektu może sklonować własne repozytorium lokalne i scalić zmiany w repozytorium zdalnym.

Klonowanie repozytorium zdalnego

  1. Otwórz powłokę Git lub narzędzie git bash. Zobacz Wymagania wstępne.

  2. Sprawdź, czy bieżący folder jest w serwisie GitHub.

  3. Uruchom następujące polecenie:

    git clone https://github.com/[YourAccountName]/[YourGitHubRepositoryName]
    cd [YourGitHubRepositoryName]
    mkdir CreateWebApp
    cd CreateWebApp
    pwd
    

    Zastąp ciąg [YourAccountName] nazwą konta usługi GitHub i Zastąp [YourGitHubRepositoryName] nazwą swojego repozytorium utworzonego w poprzedniej procedurze.

Folder CreateWebApp jest folderem, w którym przechowywany jest szablon. pwdPolecenie pokazuje ścieżkę folderu. Ścieżka służy do zapisywania szablonu w poniższej procedurze.

Pobierz szablon szybkiego startu

Zamiast tworzyć szablony, można pobrać szablony i zapisać je w folderze CreateWebApp .

Nazwa folderu i nazwy plików są używane, ponieważ znajdują się w potoku. W przypadku zmiany tych nazw należy zaktualizować nazwy używane w potoku.

Wypychanie szablonu do repozytorium zdalnego

azuredeploy.js została dodana do repozytorium lokalnego. Następnie Przekaż szablon do zdalnego repozytorium.

  1. Otwórz powłokę git lub git bash, jeśli nie jest ona otwarta.

  2. Zmień katalog na folder CreateWebApp w lokalnym repozytorium.

  3. Sprawdź, czy azuredeploy.jsw pliku znajduje się w folderze.

  4. Uruchom następujące polecenie:

    git add .
    git commit -m "Add web app templates."
    git push origin main
    

    Może pojawić się ostrzeżenie dotyczące LF. Możesz zignorować to ostrzeżenie. główny jest gałęzią główną. Tworzona jest zwykle gałąź dla każdej aktualizacji. Aby uprościć samouczek, należy bezpośrednio użyć gałęzi głównej.

  5. Przejdź do repozytorium GitHub z przeglądarki. Adres URL to https://github.com/[YourAccountName]/[YourGitHubRepository] . Zobaczysz folder CreateWebApp i dwa pliki znajdujące się w folderze.

  6. Wybierz pozycję azuredeploy.js , aby otworzyć szablon.

  7. Wybierz przycisk RAW . Adres URL zaczyna się od https://raw.githubusercontent.com .

  8. Utwórz kopię adresu URL. Należy podać tę wartość podczas konfigurowania potoku w dalszej części tego samouczka.

Do tej pory utworzono repozytorium GitHub i przekazano szablony do repozytorium.

Tworzenie projektu DevOps

Aby można było wykonać następną procedurę, wymagana jest organizacja DevOps. Jeśli go nie masz, zobacz wymagania wstępne.

  1. Zaloguj się do usługi Azure DevOps.

  2. Wybierz organizację DevOps z lewej strony.

    Azure Resource Manager Azure DevOps Azure Pipelines tworzenia projektu DevOps platformy Azure

  3. Wybierz pozycję Nowy projekt. Jeśli nie masz żadnych projektów, Strona Tworzenie projektu zostanie otwarta automatycznie.

  4. Podaj następujące wartości:

    • Nazwa projektu: Wprowadź nazwę projektu. Możesz użyć nazwy projektu, która została pobrana na początku samouczka.
    • Kontrola wersji: wybierz pozycję git. Może być konieczne rozszerzenie Zaawansowane , aby zobaczyć kontrolę wersji.

    Użyj wartości domyślnej dla innych właściwości.

  5. Wybierz przycisk Utwórz.

Utwórz połączenie usługi używane do wdrażania projektów na platformie Azure.

  1. Wybierz pozycję Ustawienia projektu w dolnej części menu po lewej stronie.

  2. Wybierz pozycję połączenia usługi w obszarze potoki.

  3. Wybierz pozycję Utwórz połączenie usługi, wybierz pozycję Azure Resource Manager, a następnie wybierz pozycję dalej.

  4. Wybierz pozycję Nazwa główna usługi, a następnie wybierz pozycję dalej.

  5. Podaj następujące wartości:

    • Poziom zakresu: Wybierz subskrypcję.
    • Subskrypcja: wybierz swoją subskrypcję.
    • Grupa zasobów: pozostaw to pole puste.
    • Nazwa połączenia: Wprowadź nazwę połączenia. Na przykład AzureRmPipeline-poł. Zapisz tę nazwę, podczas tworzenia potoku musisz mieć nazwę.
    • Udziel uprawnienia dostępu do wszystkich potoków. niezaznaczone
  6. Wybierz pozycję Zapisz.

Tworzenie potoku

Do tej pory zostały wykonane następujące zadania. Jeśli pominiesz poprzednie sekcje, ponieważ znasz już usługi GitHub i DevOps, musisz wykonać zadania przed kontynuowaniem.

  • Utwórz repozytorium GitHub i Zapisz szablony w folderze CreateWebApp w repozytorium.
  • Utwórz projekt DevOps i Utwórz połączenie z usługą Azure Resource Manager.

Aby utworzyć potok z krokiem do wdrożenia szablonu:

  1. Wybierz pozycję potoki w menu po lewej stronie.

  2. Wybierz pozycję Utwórz potok.

  3. Na karcie Connect (Połączenie) wybierz pozycję GitHub. Jeśli zostanie wyświetlony monit, wprowadź swoje poświadczenia usługi GitHub, a następnie postępuj zgodnie z instrukcjami. Jeśli widzisz Poniższy ekran, wybierz opcję tylko wybierz repozytoria i sprawdź, czy repozytorium znajduje się na liście przed wybraniem opcji Zatwierdź & Zainstaluj.

    Azure Resource Manager Azure DevOps Azure Pipelines wybierz tylko repozytoria

  4. Na karcie Wybierz wybierz repozytorium. Nazwa domyślna to [YourAccountName]/[YourGitHubRepositoryName] .

  5. Na karcie Konfiguracja wybierz pozycję potok początkowy. Pokazuje plik potoku Azure-Pipelines. yml z dwoma krokami skryptu.

  6. Usuń dwa etapy skryptu z pliku . yml .

  7. Przesuń kursor do wiersza po wykonaniu kroków:.

  8. Wybierz pozycję Pokaż asystenta po prawej stronie ekranu, aby otworzyć okienko zadania .

  9. Wybierz pozycję wdrożenie szablonu ARM.

  10. Podaj następujące wartości:

    • deploymentScope: Wybierz grupę zasobów. Aby dowiedzieć się więcej o zakresach, zobacz sekcję Deployment Scopes.
    • Azure Resource Manager połączenie: wybierz wcześniej utworzoną nazwę połączenia usługi.
    • Subskrypcja: Określ Identyfikator subskrypcji docelowej.
    • Akcja: Wybierz akcję Utwórz lub Zaktualizuj grupę zasobów — 2 akcje — 1. Utwórz grupę zasobów, jeśli podano nową nazwę grupy zasobów; dwóch. Wdróż określony szablon.
    • Grupa zasobów: wprowadź nową nazwę grupy zasobów. Na przykład AzureRmPipeline-RG.
    • Lokalizacja: Wybierz lokalizację dla grupy zasobów, na przykład środkowe stany USA.
    • Lokalizacja szablonu: Wybierz adres URL pliku, co oznacza, że zadanie szuka pliku szablonu przy użyciu adresu URL. Ponieważ RelativePath jest używany w szablonie głównym, a RelativePath jest obsługiwana tylko w przypadku wdrożeń opartych na identyfikatorze URI, należy użyć tutaj adresu URL.
    • Link szablonu: wprowadź adres URL uzyskany na końcu sekcji Przygotowywanie repozytorium GitHub . Zaczyna się od https://raw.githubusercontent.com .
    • Link parametrów szablonu: pozostaw to pole puste. Wartości parametrów należy określić w parametrach szablonu przesłonięć.
    • Przesłoń parametry szablonu: ENTER -projectName [EnterAProjectName] .
    • Tryb wdrożenia: wybierz pozycję przyrostowe.
    • Nazwa wdrożenia: wprowadź DeployPipelineTemplate. Wybierz pozycję Zaawansowane , aby zobaczyć nazwę wdrożenia.

    Zrzut ekranu przedstawia stronę wdrożenia szablonu ARM z wprowadzonymi wymaganymi wartościami.

  11. Wybierz pozycję Dodaj.

    Aby uzyskać więcej informacji o zadaniu, zobacz zadanie wdrażania grupy zasobów platformy Azurei zadanie wdrażania Azure Resource Manager szablonu

    Plik . yml powinien wyglądać podobnie do:

    Zrzut ekranu przedstawia stronę przegląd z nowym potokiem zatytułowanym Przejrzyj potok YAML.

  12. Wybierz polecenie Zapisz i uruchom.

  13. W okienku Zapisz i uruchom wybierz pozycję Zapisz i uruchom ponownie. Kopia pliku YAML jest zapisywana w połączonym repozytorium. Plik YAML można zobaczyć, przechodzenie do repozytorium.

  14. Sprawdź, czy potok został pomyślnie wykonany.

    Azure Resource Manager Azure DevOps Azure Pipelines YAML

Weryfikowanie wdrożenia

  1. Zaloguj się w witrynie Azure Portal.
  2. Otwórz grupę zasobów. Nazwa jest określona w pliku YAML potoku. Zobaczysz jedno utworzone konto magazynu. Nazwa konta magazynu rozpoczyna się od zapisania.
  3. Wybierz nazwę konta magazynu, aby go otworzyć.
  4. Wybierz pozycję Właściwości. Zauważ, że replikacja jest magazynem lokalnie nadmiarowym (LRS).

Aktualizowanie i ponowne wdrażanie

Gdy aktualizujesz szablon i wypychasz zmiany do repozytorium zdalnego, potok automatycznie zaktualizuje zasoby, konto magazynu w tym przypadku.

  1. Otwórz linkedStorageAccount.jsna podstawie lokalnego repozytorium w Visual Studio Code lub dowolnym edytorze tekstu.

  2. Zaktualizuj wartość DefaultValue elementu storageAccountType do Standard_GRS. Zobacz poniższy zrzut ekranu:

    Azure Resource Manager usługi Azure DevOps Azure Pipelines Update YAML

  3. Zapisz zmiany.

  4. Wypchnij zmiany do repozytorium zdalnego, uruchamiając następujące polecenia z narzędzia Git bash/Shell.

    git pull origin main
    git add .
    git commit -m "Update the storage account type."
    git push origin main
    

    Pierwsze polecenie ( pull ) synchronizuje repozytorium lokalne ze zdalnym repozytorium. Plik YAML potoku został dodany tylko do zdalnego repozytorium. Uruchomienie pull polecenia spowoduje pobranie kopii pliku YAML do lokalnej gałęzi.

    Czwarte polecenie ( push ) przekazuje poprawione linkedStorageAccount.jsw pliku do repozytorium zdalnego. Po zaktualizowaniu głównej gałęzi repozytorium zdalnego potok jest uruchamiany ponownie.

Aby sprawdzić zmiany, można sprawdzić Właściwość replikacji konta magazynu. Zobacz weryfikacja wdrożenia.

Czyszczenie zasobów

Gdy zasoby platformy Azure nie będą już potrzebne, wyczyść wdrożone zasoby, usuwając grupę zasobów.

  1. Z Azure Portal z menu po lewej stronie wybierz pozycję Grupa zasobów .
  2. Wprowadź nazwę grupy zasobów w polu Filtruj według nazwy.
  3. Wybierz nazwę grupy zasobów.
  4. W górnym menu wybierz pozycję Usuń grupę zasobów .

Możesz również chcieć usunąć repozytorium GitHub i projekt usługi Azure DevOps.

Następne kroki

Gratulacje, ukończono ten samouczek wdrażania szablonu Menedżer zasobów. Daj nam znać, jeśli masz jakieś komentarze i sugestie w sekcji Opinie. Dziękujemy! Możesz teraz przejść do bardziej zaawansowanych koncepcji dotyczących szablonów. Następny samouczek zawiera więcej szczegółów dotyczących korzystania z dokumentacji szablonów referencyjnych, aby ułatwić Definiowanie zasobów do wdrożenia.