Självstudie: Publicera Azure Static Web Apps med hjälp av en ARM-mall
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 självstudien 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 något 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 Developer Inställningar (Utvecklare Instä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 Hjälp av Azure Static Web Apps.
Gå till följande plats för att skapa en ny lagringsplats:
Namnge lagringsplatsen myfirstswadeployment
Kommentar
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 Create repository (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 repositoryUrl
Ange URL:en till GitHub-lagringsplatsen för Static Web Apps. repositoryToken
Ange 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.
Kommentar
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-resurserna 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.
- Från Azure-portalen väljer du Resursgrupp från den vänstra menyn.
- Ange resursgruppens namn i fältet Filtrera efter namn.
- Välj resursgruppens namn.
- Välj Ta bort resursgrupp från menyn längst upp.