Erstellen einer Web-App und Bereitstellen von Code in einer Stagingumgebung
Dieses Beispielskript erstellt eine Web-App in App Service mit einem zusätzlichen Bereitstellungsslot namens „staging“ und stellt dann eine Beispiel-App im „staging“-Slot bereit.
Installieren Sie bei Bedarf Azure PowerShell anhand der Anleitung im Azure PowerShell-Handbuch, und führen Sie dann Connect-AzAccount
aus, um eine Verbindung mit Azure herzustellen.
Beispielskript
Hinweis
Es wird empfohlen, das Azure Az PowerShell-Modul für die Interaktion mit Azure zu verwenden. Informationen zu den ersten Schritten finden Sie unter Installieren von Azure PowerShell. Informationen zum Migrieren zum Az PowerShell-Modul finden Sie unter Migrieren von Azure PowerShell von AzureRM zum Az-Modul.
# Replace the following URL with a public GitHub repo URL
$gitrepo="https://github.com/Azure-Samples/app-service-web-dotnet-get-started.git"
$webappname="mywebapp$(Get-Random)"
$location="West Europe"
# Create a resource group.
New-AzResourceGroup -Name myResourceGroup -Location $location
# Create an App Service plan in Free tier.
New-AzAppServicePlan -Name $webappname -Location $location `
-ResourceGroupName myResourceGroup -Tier Free
# Create a web app.
New-AzWebApp -Name $webappname -Location $location `
-AppServicePlan $webappname -ResourceGroupName myResourceGroup
# Upgrade App Service plan to Standard tier (minimum required by deployment slots)
Set-AzAppServicePlan -Name $webappname -ResourceGroupName myResourceGroup `
-Tier Standard
#Create a deployment slot with the name "staging".
New-AzWebAppSlot -Name $webappname -ResourceGroupName myResourceGroup `
-Slot staging
# Configure GitHub deployment to the staging slot from your GitHub repo and deploy once.
$PropertiesObject = @{
repoUrl = "$gitrepo";
branch = "master";
isManualIntegration = "true"; #remove isManualIntegration for continuous deployment from a GitHub repo you own
}
Set-AzResource -PropertyObject $PropertiesObject -ResourceGroupName myResourceGroup `
-ResourceType Microsoft.Web/sites/slots/sourcecontrols `
-ResourceName $webappname/staging/web -ApiVersion 2015-08-01 -Force
# Swap the verified/warmed up staging slot into production.
Switch-AzWebAppSlot -Name $webappname -ResourceGroupName myResourceGroup `
-SourceSlotName staging -DestinationSlotName production
Bereinigen der Bereitstellung
Nach dem Ausführen des Skriptbeispiels können mit dem folgenden Befehl die Ressourcengruppe, die Web-App und alle zugehörigen Ressourcen entfernt werden.
Remove-AzResourceGroup -Name myResourceGroup -Force
Erläuterung des Skripts
Das Skript verwendet die folgenden Befehle. Jeder Befehl in der Tabelle ist mit der zugehörigen Dokumentation verknüpft.
Get-Help | Notizen |
---|---|
New-AzResourceGroup | Erstellt eine Ressourcengruppe, in der alle Ressourcen gespeichert sind. |
New-AzAppServicePlan | Erstellt einen App Service-Plan. |
New-AzWebApp | Erstellt die Web-App. |
Set-AzAppServicePlan | Ändert einen App Service-Plan, um den zugehörigen Tarif zu ändern. |
New-AzWebAppSlot | Erstellt einen Bereitstellungsslot für eine Web-App. |
Set-AzResource | Ändert eine Ressource in einer Ressourcengruppe. |
Switch-AzWebAppSlot | Ändert den Bereitstellungsslot einer Web-App in eine Produktionsumgebung. |
Nächste Schritte
Weitere Informationen zum Azure PowerShell-Modul finden Sie in der Azure PowerShell-Dokumentation.
Weitere Azure PowerShell-Beispiele für Azure App Service-Web-Apps finden Sie unter Azure PowerShell-Beispiele.