Anteckning
Å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.
Den här artikeln visar hur du distribuerar Azure Static Web Apps med hjälp av en Azure Resource Manager-mall (ARM-mall).
I den här handledningen får du lära dig att:
- Skapa en ARM-mall för Azure Static Web Apps
- Distribuera ARM-mallen för att skapa en Azure Static Web App-instans
Förutsättningar
Aktivt Azure-konto: Om du inte har ett konto kan du skapa ett konto kostnadsfritt.
GitHub-konto: Om du inte har något kan du skapa ett GitHub-konto kostnadsfritt
Redigerare för ARM-mallar: Granskning och redigering av mallar kräver en JSON-redigerare. Visual Studio Code med Azure Resource Manager Tools-tillägget passar bra för redigering av ARM-mallar. Anvisningar om hur du installerar och konfigurerar Visual Studio Code finns i Snabbstart: Skapa ARM-mallar med Visual Studio Code.
Azure CLI eller Azure PowerShell: För att distribuera ARM-mallar krävs ett kommandoradsverktyg. Installationsanvisningarna finns i:
Skapa en personlig Åtkomsttoken för GitHub
En av parametrarna i ARM-mallen är repositoryToken, som gör att ARM-distributionsprocessen kan interagera med GitHub-lagringsplatsen som innehåller källkoden för den statiska platsen.
Från din GitHub-kontoprofil (i det övre högra hörnet) väljer du Inställningar.
Välj Utvecklarinställningar.
Välj Personliga åtkomsttoken.
Välj Generera ny token.
Ange ett namn för den här token i fältet Namn , till exempel myfirstswadeployment.
Välj förfallodatum för token, standardvärdet är 30 dagar.
Ange följande omfång: lagringsplats, arbetsflöde, skriv:paket
Välj Generera token.
Kopiera tokenvärdet och klistra in det i en textredigerare för senare användning.
Viktigt!
Se till att du kopierar den här token och lagrar den på ett säkert ställe. Överväg att lagra den här token i Azure Key Vault och komma åt den i ARM-mallen.
Skapa en GitHub-lagringsplats
Den här artikeln använder en GitHub-malllagringsplats för att göra det enkelt för dig att komma igång. Mallen innehåller en startapp som används för att distribuera med Azure Static Web Apps.
Gå till följande plats för att skapa en ny lagringsplats:
Namnge lagringsplatsen myfirstswadeployment
Anmärkning
Azure Static Web Apps kräver minst en HTML-fil för att skapa en webbapp. Lagringsplatsen som du skapar i det här steget innehåller en enda index.html fil.
Välj Skapa lagringsplats.
Skapa ARM-mallen
Med förutsättningarna på plats är nästa steg att definiera ARM-distributionsmallfilen.
Skapa en ny mapp som ska innehålla ARM-mallarna.
Skapa en ny fil och ge den namnet azuredeploy.json.
Klistra in följande ARM-mallfragment i azuredeploy.json.
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "name": { "type": "string" }, "location": { "type": "string" }, "sku": { "type": "string" }, "skucode": { "type": "string" }, "repositoryUrl": { "type": "string" }, "branch": { "type": "string" }, "repositoryToken": { "type": "securestring" }, "appLocation": { "type": "string" }, "apiLocation": { "type": "string" }, "appArtifactLocation": { "type": "string" }, "resourceTags": { "type": "object" }, "appSettings": { "type": "object" } }, "resources": [ { "apiVersion": "2021-01-15", "name": "[parameters('name')]", "type": "Microsoft.Web/staticSites", "location": "[parameters('location')]", "tags": "[parameters('resourceTags')]", "properties": { "repositoryUrl": "[parameters('repositoryUrl')]", "branch": "[parameters('branch')]", "repositoryToken": "[parameters('repositoryToken')]", "buildProperties": { "appLocation": "[parameters('appLocation')]", "apiLocation": "[parameters('apiLocation')]", "appArtifactLocation": "[parameters('appArtifactLocation')]" } }, "sku": { "Tier": "[parameters('sku')]", "Name": "[parameters('skuCode')]" }, "resources":[ { "apiVersion": "2021-01-15", "name": "appsettings", "type": "config", "location": "[parameters('location')]", "properties": "[parameters('appSettings')]", "dependsOn": [ "[resourceId('Microsoft.Web/staticSites', parameters('name'))]" ] } ] } ] }Skapa en ny fil och ge den namnet azuredeploy.parameters.json.
Klistra in följande ARM-mallfragment i azuredeploy.parameters.json.
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", "contentVersion": "1.0.0.0", "parameters": { "name": { "value": "myfirstswadeployment" }, "location": { "value": "Central US" }, "sku": { "value": "Free" }, "skucode": { "value": "Free" }, "repositoryUrl": { "value": "https://github.com/<YOUR-GITHUB-USER-NAME>/<YOUR-GITHUB-REPOSITORY-NAME>" }, "branch": { "value": "main" }, "repositoryToken": { "value": "<YOUR-GITHUB-PAT>" }, "appLocation": { "value": "/" }, "apiLocation": { "value": "" }, "appArtifactLocation": { "value": "src" }, "resourceTags": { "value": { "Environment": "Development", "Project": "Testing SWA with ARM", "ApplicationName": "myfirstswadeployment" } }, "appSettings": { "value": { "MY_APP_SETTING1": "value 1", "MY_APP_SETTING2": "value 2" } } } }Uppdatera följande parametrar.
Parameter Förväntat värde repositoryUrlAnge URL:en till GitHub-lagringsplatsen för Static Web Apps. repositoryTokenAnge GitHub PAT-token. Spara uppdateringarna innan du kör distributionen i nästa steg.
Köra distributionen
Du behöver antingen Azure CLI eller Azure PowerShell för att distribuera mallen.
Logga in på Azure
Om du vill distribuera en mall loggar du in på Antingen Azure CLI eller Azure PowerShell.
az login
Om du har flera Azure-prenumerationer väljer du den prenumeration som du vill använda. Ersätt <SUBSCRIPTION-ID> med din prenumerationsinformation:
az account set --subscription <SUBSCRIPTION-ID>
Skapa en resursgrupp
När du distribuerar en mall anger du en resursgrupp som innehåller relaterade resurser. Innan du kör distributionskommandot skapar du resursgruppen med antingen Azure CLI eller Azure PowerShell.
Anmärkning
CLI-exemplen i den här artikeln är skrivna för Bash-gränssnittet.
resourceGroupName="myfirstswadeployRG"
az group create \
--name $resourceGroupName \
--location "Central US"
Distribuera mallen
Använd något av dessa distributionsalternativ för att distribuera mallen.
az deployment group create \
--name DeployLocalTemplate \
--resource-group $resourceGroupName \
--template-file <PATH-TO-AZUREDEPLOY.JSON> \
--parameters <PATH-TO-AZUREDEPLOY.PARAMETERS.JSON> \
--verbose
Mer information om hur du distribuerar mallar med hjälp av Azure CLI finns i Distribuera resurser med ARM-mallar och Azure CLI.
Visa webbplatsen
Det finns två aspekter för att distribuera en statisk app. Den första etablerar de underliggande Azure-resurser som utgör din app. Den andra är ett GitHub Actions-arbetsflöde som bygger och publicerar din app.
Innan du kan navigera till den nya statiska platsen måste distributionsversionen först köras.
Översiktsfönstret för Static Web Apps visar en serie länkar som hjälper dig att interagera med din webbapp.
Klicka på banderollen som säger , Klicka här för att kontrollera statusen för dina GitHub Actions-körningar tar dig till GitHub Actions som körs mot din lagringsplats. När du har kontrollerat att distributionsjobbet är klart kan du navigera till din webbplats via den genererade URL:en.
När GitHub Actions-arbetsflödet är klart kan du klicka på URL-länken för att öppna webbplatsen på den nya fliken.
Rensa resurser
Rensa de resurser som du har distribuerat genom att ta bort resursgruppen.
- I Azure-portalen väljer du Resursgrupp på den vänstra menyn.
- Ange resursgruppens namn i fältet Filtrera efter namn .
- Välj resursgruppens namn.
- Välj Ta bort resursgrupp på den översta menyn.