Udostępnij za pośrednictwem


Szybki start: automatyzowanie wdrożeń

Uwaga

Azure Spring Apps to nowa nazwa usługi Azure Spring Cloud. Mimo że usługa ma nową nazwę, stara nazwa będzie widoczna w niektórych miejscach przez pewien czas, ponieważ pracujemy nad aktualizowaniem zasobów, takich jak zrzuty ekranu, filmy wideo i diagramy.

Ten artykuł dotyczy:❌ Podstawowa/Standardowa ✔️ Enterprise

W tym przewodniku Szybki start pokazano, jak zautomatyzować wdrożenia w planie Azure Spring Apps Enterprise przy użyciu funkcji GitHub Actions i narzędzia Terraform.

Wymagania wstępne

Konfigurowanie repozytorium GitHub i uwierzytelnianie

Automatyzacja skojarzona z przykładową aplikacją wymaga konta magazynu do obsługi stanu programu Terraform. W poniższych krokach pokazano, jak utworzyć konto magazynu do użycia z usługami GitHub Actions i Terraform.

  1. Użyj następującego polecenia, aby utworzyć nową grupę zasobów zawierającą konto magazynu:

    az group create \
        --name <storage-resource-group> \
        --location <location>
    
  2. Użyj następującego polecenia, aby utworzyć konto magazynu:

    az storage account create \
        --resource-group <storage-resource-group> \
        --name <storage-account-name> \
        --location <location> \
        --sku Standard_RAGRS \
        --kind StorageV2
    
  3. Użyj następującego polecenia, aby utworzyć kontener magazynu na koncie magazynu:

    az storage container create \
        --resource-group <storage-resource-group> \
        --name terraform-state-container \
        --account-name <storage-account-name> \
        --auth-mode login
    
  4. Użyj następujących poleceń, aby uzyskać poświadczenia platformy Azure. Aby autoryzować akcję logowania platformy Azure, potrzebujesz poświadczeń jednostki usługi platformy Azure.

    az login
    az ad sp create-for-rbac \
        --role contributor \
        --scopes /subscriptions/<SUBSCRIPTION_ID> \
        --json-auth
    

    Polecenie powinno zwrócić obiekt JSON:

    {
        "clientId": "<GUID>",
        "clientSecret": "<GUID>",
        "subscriptionId": "<GUID>",
        "tenantId": "<GUID>",
        ...
    }
    
  5. W tym przykładzie użyto przykładowego sklepu fitness w usłudze GitHub. Utwórz rozwidlenie przykładu, otwórz stronę repozytorium GitHub, a następnie wybierz kartę Ustawienia. Otwórz menu Wpisy tajne, a następnie wybierz pozycję Dodaj nowy wpis tajny, jak pokazano na poniższym zrzucie ekranu.

    Screenshot showing GitHub Settings Add new secret.

  6. Ustaw nazwę AZURE_CREDENTIALS wpisu tajnego na i ustaw jej wartość na ciąg JSON znaleziony pod nagłówkiem Konfigurowanie repozytorium GitHub i uwierzytelnianie.

    Screenshot showing GitHub Settings Set secret data.

  7. Dodaj następujące wpisy tajne do funkcji GitHub Actions:

  8. Dodaj wpis tajny TF_BACKEND_CONFIG do funkcji GitHub Actions z następującą wartością:

    resource_group_name  = "<storage-resource-group>"
    storage_account_name = "<storage-account-name>"
    container_name       = "terraform-state-container"
    key                  = "dev.terraform.tfstate"
    

Automatyzowanie za pomocą funkcji GitHub Actions

Teraz możesz uruchomić funkcję GitHub Actions w repozytorium. Przepływ pracy aprowizacji aprowizuje wszystkie zasoby niezbędne do uruchomienia przykładowej aplikacji. Poniższy zrzut ekranu przedstawia przykładowy przebieg:

Screenshot of GitHub showing output from the provision workflow.

Każda aplikacja ma przepływ pracy wdrażania, który będzie ponownie wdrażać aplikację po wprowadzeniu zmian w tej aplikacji. Poniższy zrzut ekranu przedstawia przykładowe dane wyjściowe z usługi wykazu:

Screenshot of GitHub showing output from the Deploy Catalog workflow.

Przepływ pracy oczyszczania można uruchomić ręcznie, aby usunąć wszystkie zasoby utworzone przez provision przepływ pracy. Poniższy zrzut ekranu przedstawia dane wyjściowe:

Screenshot of GitHub showing output from the cleanup workflow.

Czyszczenie zasobów

Jeśli planujesz kontynuować pracę z kolejnymi przewodnikami Szybki start i samouczkami, możesz pozostawić te zasoby na miejscu. Gdy grupa zasobów nie będzie już potrzebna, usuń grupę zasobów, która usuwa zasoby w grupie zasobów. Aby usunąć grupę zasobów przy użyciu interfejsu wiersza polecenia platformy Azure, użyj następujących poleceń:

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."

Następne kroki

Przejdź do dowolnego z następujących opcjonalnych przewodników Szybki start: