Händelser
17 mars 21 - 21 mars 10
Gå med i mötesserien för att skapa skalbara AI-lösningar baserat på verkliga användningsfall med andra utvecklare och experter.
Registrera dig nuDen här webbläsaren stöds inte längre.
Uppgradera till Microsoft Edge och dra nytta av de senaste funktionerna och säkerhetsuppdateringarna, samt teknisk support.
I den här självstudien konfigurerar du kontinuerlig distribution för en anpassad containeravbildning från hanterade Azure Container Registry-lagringsplatser eller Docker Hub.
I Azure Portal navigerar du till hanteringssidan för din App Service-app.
På den vänstra menyn klickar du på Inställningar för distributionscenter>.
Välj distributionskälla beror på ditt scenario:
docker build
och docker push
direkt till containerregistret och sedan uppdatera App Service-appen för att köra den nya avbildningen. Mer information finns i Så här fungerar CI/CD med GitHub Actions.Anteckning
För en Docker Compose-app väljer du Container Registry.
Om du väljer GitHub Actions klickar du på Auktorisera och följer auktoriseringsanvisningarna. Om du redan har auktoriserat med GitHub tidigare kan du distribuera från en annan användares lagringsplats genom att klicka på Ändra konto.
När du har auktorisera ditt Azure-konto med GitHub väljer du den organisation, lagringsplats och gren som du vill distribuera från.
Anteckning
Sidovagnscontainrar (förhandsversion) lyckas med appar med flera containrar (Docker Compose) i App Service. Kom igång genom att läsa Självstudie: Konfigurera en sidovagnscontainer för anpassad container i Azure App Service (förhandsversion).
Om du vill distribuera en Docker Compose-app (flera containrar) väljer du Docker Compose i ContainerTyp.
Om du inte ser listrutan Containertyp rullar du tillbaka till Källa och väljer Container Registry.
I Registerkälla väljer du var containerregistret finns. Om det varken är Azure Container Registry eller Docker Hub väljer du Privat register.
Anteckning
Om appen För flera containrar (Docker Compose) använder mer än en privat avbildning kontrollerar du att de privata avbildningarna finns i samma privata register och är tillgängliga med samma användarautentiseringsuppgifter. Om din app för flera containrar bara använder offentliga avbildningar väljer du Docker Hub, även om vissa avbildningar inte finns i Docker Hub.
Följ nästa steg genom att välja den flik som matchar ditt val.
Listrutan Register visar registren i samma prenumeration som din app. Välj det register som du vill använda.
Anteckning
Välj den avbildning och tagg som ska distribueras. Om du vill skriver du startkommandot i Startfil.
Följ nästa steg beroende på containertyp:
App Service lägger till strängen i Startfil i slutet av docker run
kommandot (som [COMMAND] [ARG...]
segment) när du startar containern.
App Service stöder CI/CD-integrering med Azure Container Registry och Docker Hub. Om du vill aktivera den väljer du På i Kontinuerlig distribution.
Anteckning
Om du väljer GitHub Actions i Källa får du inte det här alternativet eftersom CI/CD hanteras direkt av GitHub Actions. I stället visas avsnittet Arbetsflödeskonfiguration , där du kan klicka på Förhandsgranskningsfil för att granska arbetsflödesfilen. Azure checkar in den här filen i din valda GitHub-källlagringsplats för att hantera bygg- och distributionsuppgifter. Mer information finns i Så här fungerar CI/CD med GitHub Actions.
När du aktiverar det här alternativet lägger App Service till en webhook till lagringsplatsen i Azure Container Registry eller Docker Hub. Lagringsplatsen publicerar på den här webhooken när den valda avbildningen uppdateras med docker push
. Webhooken gör att App Service-appen startas om och körs docker pull
för att hämta den uppdaterade avbildningen.
Anteckning
För att webhooken ska fungera korrekt är det viktigt att aktivera alternativet Grundläggande publiceringsautentiseringsuppgifter för autentiseringsuppgifter i webbappen. Om du inte gör det kan det leda till ett 401-fel utan behörighet för webhooken. Följ dessa steg för att kontrollera om grundläggande autentiseringsuppgifter för autentiseringsuppgifter för autentiseringspublicering är aktiverat:
För andra privata register kan du skicka till webhooken manuellt eller som ett steg i en CI/CD-pipeline. I Webhook-URL klickar du på knappen Kopiera för att hämta webhookens URL.
Anteckning
Stödet för Docker Compose-appar (multicontainer) är begränsat:
docker push
till valfri lagringsplats i registret (inklusive de som inte refereras av Docker Compose-filen) utlöser en omstart av appen. Du kanske vill ändra webhooken till ett smalare omfång.Klicka på Spara.
Om du väljer GitHub Actions i Källa (se Välj distributionskälla) konfigurerar App Service CI/CD på följande sätt:
docker push
sedan för att distribuera till det.Du kan anpassa GitHub Actions-byggprovidern på följande sätt:
Den här valfria konfigurationen ersätter standardautentiseringen med publiceringsprofiler i den genererade arbetsflödesfilen.
Generera ett huvudnamn för tjänsten med kommandot az ad sp create-for-rbac i Azure CLI. I följande exempel ersätter du <prenumerations-ID>, <gruppnamn> och <appnamn> med dina egna värden. Spara hela JSON-utdata för nästa steg, inklusive den översta nivån {}
.
az ad sp create-for-rbac --name "myAppDeployAuth" --role contributor \
--scopes /subscriptions/<subscription-id>/resourceGroups/<group-name>/providers/Microsoft.Web/sites/<app-name> \
--json-auth
Viktigt
För säkerhet beviljar du den minsta nödvändiga åtkomsten till tjänstens huvudnamn. Omfånget i föregående exempel är begränsat till den specifika App Service-appen och inte hela resursgruppen.
I GitHub bläddrar du till lagringsplatsen och väljer sedan Inställningar > Hemligheter > Lägg till en ny hemlighet. Klistra in hela JSON-utdata från Azure CLI-kommandot i hemlighetens värdefält. Ge hemligheten ett namn som AZURE_CREDENTIALS
.
I arbetsflödesfilen som genereras av Distributionscenter ändrar du azure/webapps-deploy
steget med kod som i följande exempel:
- name: Sign in to Azure
# Use the GitHub secret you added
- uses: azure/login@v1
with:
creds: ${{ secrets.AZURE_CREDENTIALS }}
- name: Deploy to Azure Web App
# Remove publish-profile
- uses: azure/webapps-deploy@v2
with:
app-name: '<app-name>'
slot-name: 'production'
images: '<registry-server>/${{ secrets.AzureAppService_ContainerUsername_... }}/<image>:${{ github.sha }}'
- name: Sign out of Azure
run: |
az logout
Om du vill konfigurera containerregistret och Docker-avbildningen kör du az webapp config container set.
az webapp config container set --name <app-name> --resource-group <group-name> --docker-custom-image-name '<image>:<tag>' --docker-registry-server-url 'https://<registry-name>.azurecr.io' --docker-registry-server-user '<username>' --docker-registry-server-password '<password>'
Om du vill konfigurera en Docker Compose-app (multi-container) förbereder du en Docker Compose-fil lokalt och kör sedan az webapp config container set med parametern --multicontainer-config-file
. Om Docker Compose-filen innehåller privata avbildningar lägger du till --docker-registry-server-*
parametrar enligt föregående exempel.
az webapp config container set --resource-group <group-name> --name <app-name> --multicontainer-config-file <docker-compose-file>
Om du vill konfigurera CI/CD från containerregistret till din app kör du az webapp deployment container config med parametern --enable-cd
. Kommandot matar ut webhookens URL, men du måste skapa webhooken i registret manuellt i ett separat steg. Följande exempel aktiverar CI/CD i din app och använder sedan webhookens URL i utdata för att skapa webhooken i Azure Container Registry.
ci_cd_url=$(az webapp deployment container config --name <app-name> --resource-group <group-name> --enable-cd true --query CI_CD_URL --output tsv)
az acr webhook create --name <webhook-name> --registry <registry-name> --resource-group <group-name> --actions push --uri $ci_cd_url --scope '<image>:<tag>'
Händelser
17 mars 21 - 21 mars 10
Gå med i mötesserien för att skapa skalbara AI-lösningar baserat på verkliga användningsfall med andra utvecklare och experter.
Registrera dig nuUtbildning
Modul
Distribuera och kör en containerbaserad webbapp med Azure App Service - Training
Upptäck hur du skapar en Docker-avbildning och lagrar den i Azure Container Registry, och använd sedan Azure App Service för att distribuera en webbapp som baseras på avbildningen.
Certifiering
Microsoft Certified: Azure Developer Associate - Certifications
Skapa lösningar från slutpunkt till slutpunkt i Microsoft Azure för att skapa Azure Functions, implementera och hantera webbappar, utveckla lösningar som använder Azure Storage med mera.
Dokumentation
Självstudie: Skapa och köra en anpassad avbildning i Azure App Service - Azure App Service
En stegvis guide för att skapa en anpassad Linux- eller Windows-avbildning, skicka avbildningen till Azure Container Registry och sedan distribuera avbildningen till Azure App Service. Lär dig hur du migrerar anpassad programvara till App Service i en anpassad container.
Konfigurera en anpassad container - Azure App Service
Lär dig hur du konfigurerar en anpassad container i Azure App Service. I artikeln visas de vanligaste konfigurationsåtgärderna.
Självstudie: Konfigurera en sidovagn för en anpassad containerapp - Azure App Service
Lägg till sidovagnscontainrar i din anpassade container i Azure App Service. Lägga till eller uppdatera tjänster i ditt program utan att ändra programcontainern.