Szybki start: automatyzowanie wdrożeń
Uwaga
Plany Podstawowa, Standardowa i Enterprise zostaną wycofane od połowy marca 2025 r. z 3-letnim okresem emerytalnym. Zalecamy przejście do usługi Azure Container Apps. Aby uzyskać więcej informacji, zobacz ogłoszenie o wycofaniu usługi Azure Spring Apps.
Zużycie standardowe i dedykowany plan zostaną wycofane od 30 września 2024 r. z całkowitym zamknięciem po sześciu miesiącach. Zalecamy przejście do usługi Azure Container Apps. Aby uzyskać więcej informacji, zobacz Migrowanie użycia usługi Azure Spring Apps w warstwie Standardowa i dedykowanego planu do usługi Azure Container Apps.
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
- Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
- Zapoznaj się z sekcją Wymagania planu Enterprise w witrynie Azure Marketplace i spełnij je.
- Interfejs wiersza polecenia platformy Azure w wersji 2.45.0 lub nowszej.
- Git.
- jq
- Rozszerzenie planu Usługi Azure Spring Apps Enterprise. Użyj następującego polecenia, aby usunąć poprzednie wersje i zainstalować najnowsze rozszerzenie planu Enterprise. Jeśli wcześniej zainstalowano
spring-cloud
rozszerzenie, odinstaluj je, aby uniknąć niezgodności konfiguracji i wersji.az extension add --upgrade --name spring az extension remove --name spring-cloud
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.
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>
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
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
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>", ... }
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.
Ustaw nazwę
AZURE_CREDENTIALS
wpisu tajnego na i ustaw jej wartość na ciąg JSON znaleziony pod nagłówkiem Konfigurowanie repozytorium GitHub i uwierzytelnianie.Dodaj następujące wpisy tajne do funkcji GitHub Actions:
TF_PROJECT_NAME
: Użyj wybranej wartości. Ta wartość będzie nazwą projektu Terraform.AZURE_LOCATION
: Region świadczenia usługi Azure, w którym zostaną utworzone zasoby.OIDC_JWK_SET_URI
: Użyj zdefiniowanego w przewodnikuJWK_SET_URI
Szybki start: konfigurowanie logowania jednokrotnego dla aplikacji przy użyciu planu Usługi Azure Spring Apps Enterprise.OIDC_CLIENT_ID
: Użyj zdefiniowanego w przewodnikuCLIENT_ID
Szybki start: konfigurowanie logowania jednokrotnego dla aplikacji przy użyciu planu Usługi Azure Spring Apps Enterprise.OIDC_CLIENT_SECRET
: Użyj zdefiniowanego w przewodnikuCLIENT_SECRET
Szybki start: konfigurowanie logowania jednokrotnego dla aplikacji przy użyciu planu Usługi Azure Spring Apps Enterprise.OIDC_ISSUER_URI
: Użyj zdefiniowanego w przewodnikuISSUER_URI
Szybki start: konfigurowanie logowania jednokrotnego dla aplikacji przy użyciu planu Usługi Azure Spring Apps Enterprise.
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:
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:
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:
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: