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 en Azure Resource Manager mall (ARM-mall).
I de här självstudierna 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 utan kostnad.
GitHub konto: Om du inte har ett konto kan du skapa ett GitHub konto kostnadsfritt
Redigerare för ARM-mallar: Granskning och redigering av mallar kräver en JSON-redigerare. Visual Studio Kod med Azure Resource Manager Tools passar bra för att redigera ARM-mallar. Anvisningar om hur du installerar och konfigurerar Visual Studio Code finns i Snabbstart: Skapa ARM-mallar med Visual Studio Kod.
Azure CLI eller Azure PowerShell: Distribution av ARM-mallar kräver ett kommandoradsverktyg. Installationsanvisningarna finns i:
Skapa en personlig åtkomsttoken för GitHub
En av parametrarna i ARM-mallen är , som gör att ARM-distributionsprocessen kan interagera med GitHub-lagringsplatsen som innehåller källkoden repositoryToken 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.
Välj Personliga åtkomsttoken.
Välj Generera ny token.
Ange ett namn för denna token i fältet Anteckning, till exempel myfirstswadeployment.
Ange följande omfång: repo, workflow, write:packages
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 denna token och lagrar den på en säker plats. Överväg att lagra denna token i Azure Key Vault och komma åt den i DIN ARM-mall.
Skapa en GitHub lagringsplatsen
I den här artikeln används GitHub en malldatabas 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:
Ge lagringsplatsen namnet myfirstswadeployment
Anteckning
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 endaindex.html-fil.
Välj Create repository from template (Skapa lagringsplats från mall).
Skapa ARM-mallen
När förutsättningarna är uppfyllda är nästa steg att definiera mallfilen för ARM-distributionen.
Skapa en ny mapp för ARM-mallarna.
Skapa en ny fil och ge den namnetazuredeploy.jspå.
Klistra in följande ARM-mallfragment i azuredeploy.jspå.
{ "$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 namnetazuredeploy.parameters.jspå.
Klistra in följande ARM-mallfragment i azuredeploy.parameters.jspå.
{ "$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 din Static Web Apps GitHub lagringsplats. repositoryTokenAnge GitHub PAT-token. Spara uppdateringarna innan du kör distributionen i nästa steg.
Köra distributionen
Du behöver antingen Azure CLI 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-OR-SUBSCRIPTION-NAME> med din prenumerationsinformation:
az account set --subscription <SUBSCRIPTION-ID-OR-SUBSCRIPTION-NAME>
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.
Anteckning
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 av 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 distributions versionen först slutföras.
I fönstret Översikt över statisk Web Apps visas en serie länkar som hjälper dig att interagera med din webbapp.
Klicka här om du vill kontrol lera statusen för dina GitHub-åtgärder för att gå till de GitHub-åtgärder som körs mot din lagrings plats. När du har kontrollerat att distributions jobbet är klart kan du gå till webbplatsen via den genererade URL: en.
När GitHub-åtgärds arbets flödet är klart kan du klicka på URL -länken för att öppna webbplatsen på ny flik.
Rensa resurser
Rensa de resurser som du har distribuerat genom att ta bort resursgruppen.
- Från Azure Portal 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.