Sto cercando di sistemare il mio scenario di distribuzione continuo e affinché funzioni un sito Web di Azure deve esistere ed essere in grado di passare da Staging a Production. Vogliamo che questo sito web funzioni nel livello di prezzo Standard
.Creare il sito Web di Azure con il livello di prezzo Standard tramite PowerShell
Lo script che ho attualmente crea un nuovo ResourceGroup, piano di hosting e dopo che questi sono stati creati, il sito stesso. Il problema che sto affrontando è che il sito web è sempre in modalità Free
. Dovrei essere in grado di risolvere questo problema utilizzando il cmdlet Set-AzureResource
, ma questo sta lanciando un messaggio che mi dice che dovrei specificare lo Location
. Problema con questo cmdlet specifico non ha un parametro Location
.
Set-AzureResource : { "Error": { "Code": "LocationRequired", "Message": "The location property is required for this definition.", "Target": null, "Details": null } }
Questa è la (semplificato) script che sto usando per creare tutte le risorse:
#Create the resource group
New-AzureResourceGroup -Location $location -Name $resourceGroupName -Force
#Create the hosting plan
$hostingPlanParameters = @{"name" = $hostingPlanName; "sku" = "Standard"; "computeMode" = "Standard"; "workerSize" = "0"; "numberOfWorkers" = "1"}
New-AzureResource -ApiVersion 2014-04-01 -Name $hostingPlanName -ResourceGroupName $resourceGroupName `
-ResourceType Microsoft.Web/serverFarms -Location $location `
-PropertyObject $hostingPlanParameters -Verbose -Force
#Create the website
$analyticsSite = @{"sku" = "Standard"; "webHostingPlan" = $hostingplan; "computeMode" = "Standard"; }
New-AzureResource -Name $label -ResourceType Microsoft.Web/sites `
-ResourceGroupName $resourceGroupName -Location $location `
-ApiVersion $apiVersion -PropertyObject $analyticsSite -Force
Set-AzureResource -Name $label -ResourceType Microsoft.Web/sites `
-ResourceGroupName $resourceGroupName -ApiVersion $apiVersion `
-PropertyObject $analyticsSite -Force
che ho letto il sito dovrebbe ereditare il sku
di hosting specificato piano, quindi non avrei bisogno di aggiornarlo. Questo non sembra funzionare per il mio script sopra. Il piano di hosting è specificato, ma le impostazioni non sono ereditate.
l'hosting proprietà del piano create simile a questa:
PropertiesText : {
"name": "devHostingPlanWestEU10",
"sku": "Standard",
"workerSize": 0,
"workerSizeId": 0,
"numberOfWorkers": 1,
"currentWorkerSize": 0,
"currentWorkerSizeId": 0,
"currentNumberOfWorkers": 1,
"status": 0,
"webSpace": "ResourceGroupWestEU10-WestEuropewebspace",
"subscription": "ad7add9b-8b7a-45df-8e95-0e7fccbr78a5",
"adminSiteName": null,
"hostingEnvironment": null,
"maximumNumberOfWorkers": 0,
"planName": null,
"perSiteScaling": null,
"hostingEnvironmentId": null
}
Questo sembra un po 'ok per me. Una volta che il sito è stato creato, queste proprietà sono stampati:
PropertiesText : {
"name": "Testert10",
"state": "Running",
"hostNames": [
"testert10.azurewebsites.net"
],
"webSpace": "ResourceGroupWestEU10-WestEuropewebspace",
...
"repositorySiteName": "Testert10",
"owner": null,
"usageState": 0,
"enabled": true,
...
"computeMode": null,
"serverFarm": "Default1",
"serverFarmId": null,
"lastModifiedTimeUtc": "2015-05-21T11:52:30.773",
"storageRecoveryDefaultState": "Running",
"contentAvailabilityState": 0,
"runtimeAvailabilityState": 0,
"siteConfig": null,
"deploymentId": "Testert10",
"trafficManagerHostNames": null,
"sku": "Free",
"premiumAppDeployed": null,
"scmSiteAlsoStopped": false,
"targetSwapSlot": null,
"hostingEnvironment": null,
"microService": "WebSites",
"gatewaySiteName": null,
"kind": null,
"cloningInfo": null,
"hostingEnvironmentId": null
}
Come si può vedere, la computeMode, serverfarm, HostingEnvironment e SKU non sono impostati con le proprietà ho impostato nell'oggetto $analyticsSite
.
Pertanto, probabilmente ho bisogno di aggiornare la risorsa, ma questo genera l'errore menzionato sopra.
Ho anche provato a utilizzare New-AzureWebsite
, utilizzando Troy Hunt's blogpost come esempio. Tuttavia, questo post si basa anche sull'utilizzo dello Set-AzureResource
, quindi ricado nello stesso problema. Un altro problema con questo esempio è che non è possibile controllare su quale gruppo di risorse e piano di hosting viene creato il sito che causerà un po 'di problemi durante la ricerca del sito.
ovvia - ora come si distribuisce un sito Web effettivo (dalla directory) in questa AzureRmWebApp? –
@ taras.roshko Vuoi dire da Visual Studio? –
no, utilizzando PS dalla cartella/web-package.zip –