Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure Developer CLI (azd) stöder Distributionsfack för Azure App Service för appar som finns i App Service. Du kan definiera slotar i infrastrukturen, distribuera kod till en specifik slot, och växla slotar när du är redo att promotera en release.
Använd den här metoden för uppsättning, blågröna distributioner, röktestning och rollbacks utan att lägga till anpassade distributionsskript.
Förutsättningar
- Ett
azdprojekt som distribuerar en tjänst till Azure App Service. - Infrastruktur som kod som definierar dina App Service-resurser i Bicep.
- En App Service-plan på standardnivån (
S1) eller högre. Kostnadsfria, delade och grundläggande nivåer stöder inte distributionsplatser.
Definiera ett distributionsfack i Bicep
Definiera produktionsplatsen som vanligt och lägg sedan till en Microsoft.Web/sites/slots resurs för varje fack som du vill azd rikta in dig på.
resource appServicePlan 'Microsoft.Web/serverfarms@2021-03-01' = {
name: 'my-appservice-plan'
location: resourceGroup().location
sku: {
name: 'S1'
tier: 'Standard'
}
}
resource webApp 'Microsoft.Web/sites@2021-03-01' = {
name: 'my-appservice'
location: resourceGroup().location
kind: 'app'
properties: {
serverFarmId: appServicePlan.id
}
}
resource stagingSlot 'Microsoft.Web/sites/slots@2021-03-01' = {
name: '${webApp.name}/staging'
location: webApp.location
properties: {}
}
Om du använder Azure Verified Modules (AVM) definierar du webbappen och distributionsfackmodulerna i samma distribution och skickar appnamnet till fackmodulen.
Distribuera till ett fack med azd
Kör azd up och azd provision och azd deploy som vanligt.
azd up
Vid den första distributionen azd distribueras till produktionsplatsen och eventuella platser som definierats i infrastrukturen. Efter det, om din tjänst har fler än en plats, uppmanas du att välja målplatsen azd deploy.
Om du vill hoppa över prompten anger du en miljövariabel för den tjänst som du vill distribuera. Använd tjänstnamnet från azure.yaml i versaler.
azd env set AZD_DEPLOY_MYAPI_SLOT_NAME staging
azd deploy myapi
Om din tjänst till exempel heter web, anger du AZD_DEPLOY_WEB_SLOT_NAME. Den här metoden är användbar för CI/CD eftersom du kan ange samma miljövariabel i pipelinen innan du kör azd deploy.
Växla distributionsplatser för Azure App Service
azure.appservice Använd tillägget för att växla platser efter validering. Om tillägget inte redan är installerat azd uppmanas du att installera det första gången du kör kommandot.
Kör den interaktiva upplevelsen:
azd appservice swap
Om det bara finns en icke-produktionsplats hoppar azd du över prompterna och växlar direkt med produktion.
För automatisering anger du käll- och målplatserna explicit. Använd @main för att referera till produktionsplatsen.
azd appservice swap --src staging --dst @main
azd appservice swap --src @main --dst staging
azd appservice swap --service myapi --src staging --dst @main
Använd dessa mönster för att stödja vanliga versionsflöden:
- Höj upp en validerad mellanlagringsdistribution till produktion med
--src staging --dst @main. - Återställ genom att växla tillbaka produktionen till stagingmiljön med
--src @main --dst staging. - Rikta in dig på en specifik App Service-backad tjänst i ett multiserviceprojekt
azdmed--service.
Rekommenderat arbetsflöde för distributionsplats
- Definiera en eller flera App Service-distributionsplatser i dina Bicep-mallar.
- Tilldela App Service-resurserna med hjälp av
azd provisionellerazd up. - Distribuera programkod till ett mellanlagringsfack genom att ange
AZD_DEPLOY_<SERVICE_NAME>_SLOT_NAMEeller genom att välja facket när du uppmanas till det. - Verifiera den mellanlagrade distributionen.
- Kör
azd appservice swap --src <slot> --dst @mainför att främja lanseringen. - Om det behövs kör du den omvända växlingen för att återställa.