Tworzenie stosu wdrożenia
Stos wdrażania platformy Azure to kolekcja zasobów platformy Azure, którymi można zarządzać jako pojedyncza jednostka, nawet jeśli obejmują wiele grup zasobów lub subskrypcji.
Planujesz wdrożenie testowej wersji nowej aplikacji depozytów. Musisz dowiedzieć się więcej na temat tworzenia stosu wdrożenia i weryfikowania zarządzanych zasobów.
W tej lekcji dowiesz się, jak utworzyć stos wdrożenia, zweryfikować jego wdrożenie i wyświetlić listę wszystkich stosów wdrożeń w danym środowisku.
Uwaga
Polecenia w tej lekcji są wyświetlane w celu zilustrowania pojęć. Nie uruchamiaj jeszcze poleceń. Będziesz ćwiczyć to, czego nauczysz się tutaj wkrótce.
Ponownie przeglądane stosy wdrożeń
Stosy wdrażania zmieniają sposób myślenia o organizacji zasobów w grupach zasobów i subskrypcjach. Stos wdrożenia umożliwia grupowanie wszystkich zasobów, które tworzą aplikację, niezależnie od tego, gdzie znajduje się w hierarchii organizacyjnej zasobów platformy Azure. Można nimi zarządzać jako pojedynczą jednostką. W przypadku stosów wdrażania możesz wykonywać operacje cyklu życia w kolekcji zasobów tworzących stos.
Stosy wdrażania można traktować jako serię wskaźników, które grupuje zasoby aplikacji w jedną jednostkę. Stosy wdrażania można tworzyć w różnych zakresach, takich jak grupy zasobów, subskrypcje i grupy zarządzania.
Definiowanie zasobów
Stosy wdrażania obsługują używanie plików Bicep, szablonów JSON usługi ARM lub specyfikacji szablonów do definiowania zasobów w stosie. Podczas tworzenia stosu wdrożenia przy użyciu interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell możesz wskazać określony plik szablonu (plik Bicep lub szablon USŁUGI ARM JSON) lub specyfikację szablonu. Nie trzeba zmieniać sposobu definiowania zasobów.
Użyjemy następującego pliku Bicep dla naszego pierwszego stosu wdrożenia. Plik definiuje plan usługi App Service i aplikację internetową. Te zasoby stają się zasobami zarządzanymi podczas tworzenia stosu wdrożenia.
// Parameters
@description('The location for all resources.')
param location string = 'eastus'
@description('The name of the web application.')
param webApplicationName string = 'webapp-${uniqueString(resourceGroup().id)}'
// Variables
@description('The name of the app service plan.')
var appServicePlanName = 'plan-deposits'
// Resource - App Service Plan
resource appServicePlan 'Microsoft.Web/serverfarms@2023-12-01' = {
name: appServicePlanName
location: location
sku: {
name: 'F1'
capacity: 1
}
}
// Resource - Web App
resource webApplication 'Microsoft.Web/sites@2023-12-01' = {
name: webApplicationName
location: location
properties: {
serverFarmId: appServicePlan.id
}
}
Uwaga
Składnia parametru ${uniqueString(resourceGroup().id)}
może być zauważalna webApplicationName
. Funkcja uniqueString tworzy ciąg na podstawie identyfikatora grupy zasobów i dodaje go jako sufiks do webapp-deposits
. Wiele usług platformy Azure wymaga unikatowych nazw. Ta funkcja pomaga wygenerować unikatową nazwę.
Tworzenie stosu wdrożenia
Tworzenie i wdrażanie stosu wdrożenia i jego zasobów jest niemal identyczne ze standardowym wdrożeniem platformy Azure. Niezależnie od tego, czy używasz interfejsu wiersza polecenia platformy Azure, programu Azure PowerShell, czy infrastruktury jako potoku kodu, proces jest taki sam. Na przykład:
Polecenie interfejsu wiersza polecenia platformy Azure służące do wdrażania pliku Bicep w grupie zasobów to:
az deployment group create \
--resource-group rg-depositsApplication \
--template-file ./main.bicep
Polecenie interfejsu wiersza polecenia platformy Azure umożliwiające utworzenie stosu wdrożenia w zakresie grupy zasobów to:
az stack group create \
--name stack-deposits \
--resource-group rg-depositsApplication \
--template-file ./main.bicep \
--action-on-unmanage detachAll \
--deny-settings-mode none
Zwróć uwagę, że jedynymi zmianami w poleceniu są słowa deployment
i stack
, i różnice w użytych parametrach. To samo dotyczy wdrożeń w subskrypcjach i grupach zarządzania.
Uwaga
W kolejnych modułach dowiesz się, jak zarządzać zasobami stosu wdrożenia przy użyciu programu i jak zapobiegać niepożądanym zmianom przy użyciu --action-on-unmanage
programu --deny-settings-mode
.
Polecenie programu Azure PowerShell w celu wdrożenia pliku Bicep w grupie zasobów to:
New-AzResourceGroupDeployment `
-ResourceGroupName rg-depositsApplication `
-TemplateFile ./main.bicep
Polecenie programu Azure PowerShell umożliwiające utworzenie stosu wdrożenia w zakresie grupy zasobów to:
New-AzResourceGroupDeploymentStack `
-Name stack-deposits `
-ResourceGroupName rg-depositsApplication `
-TemplateFile ./main.bicep `
-ActionOnUnmanage DetachAll `
-DenySettingsMode None
Zwróć uwagę, że jedyną zmianą w poleceniu jest słowo stack
, a różnice w użytych parametrach. To samo dotyczy wdrożeń w subskrypcjach i grupach zarządzania.
Uwaga
W kolejnych modułach dowiesz się, jak zarządzać zasobami stosu wdrożenia przy użyciu programu i jak zapobiegać niepożądanym zmianom przy użyciu -ActionOnUnmanage
programu -DenySettingsMode
.
Teraz przyjrzyjmy się tworzeniu stosu wdrożenia w zakresie grupy zasobów.
Aby utworzyć stos wdrożenia przy użyciu interfejsu wiersza polecenia platformy az stack group create
Azure, użyj polecenia . Następujące polecenia najpierw tworzą grupę zasobów o nazwie rg-depositsApplication
, a następnie tworzą stos wdrożenia w zakresie grupy zasobów.
az group create \
--name rg-depositsApplication \
--location eastus
az stack group create \
--name stack-deposits \
--resource-group rg-depositsApplication \
--template-file ./main.bicep \
--action-on-unmanage detachAll \
--deny-settings-mode none
Aby utworzyć stos wdrożenia przy użyciu programu Azure PowerShell, użyj New-AzResourceGroupDeploymentStack
polecenia . Następujące polecenia najpierw tworzą grupę zasobów o nazwie rg-depositsApplication
, a następnie tworzą stos wdrożenia w zakresie grupy zasobów.
New-AzResourceGroup `
-Name rg-depositsApplication `
-Location eastus
New-AzResourceGroupDeploymentStack `
-Name stack-deposits `
-ResourceGroupName rg-depositsApplication `
-TemplateFile ./main.bicep `
-ActionOnUnmanage DetachAll `
-DenySettingsMode None
Wyświetlanie stosów wdrażania
Grupy zasobów mogą mieć zakres wielu stosów wdrożeń. Szczegółowe informacje o określonym stosie wdrożenia można wyświetlić w grupie zasobów.
Aby wyświetlić określony zasób stosu wdrożenia w zakresie grupy zasobów przy użyciu interfejsu wiersza polecenia platformy Azure, użyj az stack group show
polecenia , określając nazwę stosu wdrożenia i docelową grupę zasobów.
az stack group show \
--resource-group rg-depositsApplication \
--name stack-deposits
Wyniki obejmują właściwości stosu wdrożenia i stan zarządzanych zasobów. Dane wyjściowe powinny wyglądać znajomo w następującej sekcji:
{
"actionOnUnmanage": {
"managementGroups": "detach",
"resourceGroups": "detach",
"resources": "detach"
},
"bypassStackOutOfSyncError": null,
"correlationId": ".",
"debugSetting": null,
"deletedResources": [],
"denySettings": {
"applyToChildScopes": false,
"excludedActions": null,
"excludedPrincipals": null,
"mode": "none"
},
"deploymentId": "/subscriptions/././rg-depositsApplication/./Microsoft.Resources/deployments/stack-deposits",
"deploymentScope": null,
"description": null,
"detachedResources": [],
"duration": "PT2M53.2734284S",
"error": null,
"failedResources": [],
"id": "/subscriptions/././rg-depositsApplication/./Microsoft.Resources/deploymentStacks/stack-deposits",
"location": null,
"name": "stack-deposits",
"outputs": null,
"parametersLink": null,
"provisioningState": "succeeded",
"resourceGroup": "rg-depositsApplication",
"resources": [
{
"denyStatus": "none",
"id": "/subscriptions/././rg-depositsApplication/././serverfarms/plan-deposits",
"resourceGroup": "rg-depositsApplication",
"status": "managed"
},
{
"denyStatus": "none",
"id": "/subscriptions/./resourceGroups/rg-depositsApplication/././sites/webapp-eque2jlrboltq",
"resourceGroup": "rg-depositsApplication",
"status": "managed"
}
],
"systemData": {
"createdAt": "2024-01-01T00:00:01.000000+00:00",
"createdBy": "depositsapplication@contoso.com",
"createdByType": "User",
"lastModifiedAt": "2024-01-01T00:00:01.000000+00:00",
"lastModifiedBy": "depositsapplication@contoso.com",
"lastModifiedByType": "User"
},
"tags": {},
"template": null,
"templateLink": null,
"type": "Microsoft.Resources/deploymentStacks"
}
Zwróć uwagę na sekcję zasobów danych wyjściowych. Dla każdego zasobu jego stan managed
to , jego grupa zasobów, identyfikator zasobu i ustawienia odmowy.
Aby wyświetlić określony zasób stosu wdrożenia w zakresie grupy zasobów przy użyciu programu Azure PowerShell, użyj Get-AzResourceGroupDeploymentStack
polecenia , określając nazwę stosu wdrożenia i docelową grupę zasobów.
Get-AzResourceGroupDeploymentStack `
-ResourceGroupName rg-depositsApplication `
-Name stack-deposits
Wyniki obejmują właściwości stosu wdrożenia i stan zarządzanych zasobów. Dane wyjściowe powinny wyglądać znajomo w następującej sekcji:
Id : /subscriptions/././rg-depositsApplication/././deploymentStacks/stack-deposits
Name : stack-deposits
ProvisioningState : succeeded
resourcesCleanupAction : detach
resourceGroupsCleanupAction : detach
managementGroupsCleanupAction : detach
CorrelationId : .
DenySettingsMode : none
CreationTime(UTC) : 1/01/2024 0:00:01 AM
DeploymentId : /subscriptions/././rg-depositsApplication/././deployments/stack-deposits
Resources : /subscriptions/././rg-depositsApplication/././serverfarms/plan-deposits
/subscriptions/././rg-depositsApplication/././sites/webapp-eque2jlrboltq
Zwróć uwagę na sekcję zasobów danych wyjściowych. Definiuje zasoby zarządzane przez stos wdrożenia. Zostanie wyświetlony pełny identyfikator zasobu każdego zasobu.
Możesz również wyświetlić stosy wdrożeń w witrynie Azure Portal. Są one dostępne w odpowiednich zakresach. W przypadku grupy zasobów przejdź do grupy zasobów, w której stos wdrożenia ma zakres. W obszarze ustawienia jest widoczna opcja dla stosów wdrożeń.
Po kliknięciu stosów wdrażania zostanie wyświetlona lista wszystkich stosów w zakresie grupy zasobów. Kliknięcie stosu wdrożenia spowoduje przejście do strony właściwości stosów wdrożenia.
Wyświetlanie listy stosów wdrożeń
Można również wyświetlić listę wszystkich stosów wdrożeń o określonym zakresie dla określonej grupy zasobów.
Aby wyświetlić listę wszystkich zasobów stosu wdrożenia w zakresie grupy zasobów przy użyciu interfejsu az stack group list
wiersza polecenia platformy Azure, użyj polecenia , określając docelową grupę zasobów.
az stack group list \
--resource-group rg-depositsApplication
Aby wyświetlić listę wszystkich zasobów stosu wdrożenia w zakresie grupy zasobów przy użyciu programu Azure PowerShell, użyj Get-AzResourceGroupDeploymentStack
polecenia , określając docelową grupę zasobów.
Get-AzResourceGroupDeploymentStack `
-ResourceGroupName rg-depositsApplication
Uwaga
Program Azure PowerShell używa tego samego polecenia dla Get-AzResourceGroupDeploymentStack
operacji wyświetlania i wyświetlania listy.