Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Introduzione al servizio app di Azure distribuendo un'app nel cloud tramite Terraform. Quando si utilizza un piano di servizio App gratuito, non ci sono costi per completare questa guida introduttiva.
Terraform consente di definire e creare distribuzioni complete dell'infrastruttura in Azure. I modelli Terraform vengono compilati in un formato leggibile che crea e configura le risorse di Azure in modo coerente e riproducibile. Questo articolo illustra come creare un'app usando Terraform.
Prerequisiti
Una sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
Configurazione di Terraform. Usare una delle opzioni seguenti:
Estensione Azure Terraform di Visual Studio Code. Con questa estensione è possibile usare Terraform dall'editor per creare, testare ed eseguire configurazioni terraform. L'estensione supporta anche la visualizzazione del grafico delle risorse. Per informazioni su come installare l'estensione, vedere Installare l'estensione Azure Terraform di Visual Studio Code.
Rivedere il modello
Scegli il seguente modello Linux o Windows per creare un piano di servizio per app e un'app di tale servizio. Linux creerà un'app di esempio Node.js Hello World
dal repository Azure Samples . Il modello di contenitore di Windows creerà un'app di esempio ASP.NET dal Registro Contenitori Microsoft.
# Configure the Azure provider
terraform {
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "~> 3.0.0"
}
}
required_version = ">= 0.14.9"
}
provider "azurerm" {
features {}
}
# Generate a random integer to create a globally unique name
resource "random_integer" "ri" {
min = 10000
max = 99999
}
# Create the resource group
resource "azurerm_resource_group" "rg" {
name = "myResourceGroup-${random_integer.ri.result}"
location = "eastus"
}
# Create the Linux App Service Plan
resource "azurerm_service_plan" "appserviceplan" {
name = "webapp-asp-${random_integer.ri.result}"
location = azurerm_resource_group.rg.location
resource_group_name = azurerm_resource_group.rg.name
os_type = "Linux"
sku_name = "B1"
}
# Create the web app, pass in the App Service Plan ID
resource "azurerm_linux_web_app" "webapp" {
name = "webapp-${random_integer.ri.result}"
location = azurerm_resource_group.rg.location
resource_group_name = azurerm_resource_group.rg.name
service_plan_id = azurerm_service_plan.appserviceplan.id
depends_on = [azurerm_service_plan.appserviceplan]
https_only = true
site_config {
minimum_tls_version = "1.2"
application_stack {
node_version = "16-lts"
}
}
}
# Deploy code from a public GitHub repo
resource "azurerm_app_service_source_control" "sourcecontrol" {
app_id = azurerm_linux_web_app.webapp.id
repo_url = "https://github.com/Azure-Samples/nodejs-docs-hello-world"
branch = "main"
use_manual_integration = true
use_mercurial = false
}
Il modello definisce le quattro risorse di Azure seguenti. Per altri dettagli e informazioni sull'utilizzo, vedere Registro Terraform del provider di Azure.
- Microsoft.Resources/resourcegroups: creare un gruppo di risorse se non ne esiste già uno.
- Microsoft.Web/serverfarms: creare un piano di servizio app.
- Microsoft.Web/sites: Crea un'applicazione del servizio Linux.
- Microsoft.Web/sites/sourcecontrols: creare una configurazione di distribuzione Git esterna.