2017-09-21 4 views
1

J'essaie d'ajouter de nouvelles adresses IP à la liste blanche d'Azure AppService. Je ne peux pas utiliser la transformation XML ou simplement remplacer les jetons car la liste nécessaire de nouvelles entrées sera obtenue au début de la publication et pas avant. Je suis également incapable de modifier le contenu du site compressé (publié avec/p: DeployOnBuild = True). Le déploiement est effectué à l'aide de la tâche "Azure App Service Deploy". Je connais la cmdlet Set-AzureRMWebApp mais elle ne permet que de modifier les sections appSettings et connectionStrings. Y at-il une autre solution?Modifier la sécurité ips AppService Azure pendant la publication à partir de VSTS

Répondre

3

Utiliser set-AzureRMResource commande PowerShell:

$r = Get-AzureRmResource -ResourceGroupName "Resoucegroup name" -ResourceType Microsoft.Web/sites/config -ResourceName resourcename/web -ApiVersion 2016-08-01 

$p = $r.Properties 
$p.ipSecurityRestrictions = @() 
$restriction = @{} 
$restriction.Add("ipAddress","0.0.0.0") 
$restriction.Add("subnetMask","0.0.0.0") 
$p.ipSecurityRestrictions+= $restriction 

Set-AzureRmResource -ResourceGroupName "Resoucegroup name" -ResourceType Microsoft.Web/sites/config -ResourceName resourcename/web -ApiVersion 2016-08-01 -PropertyObject $p 

Un fil connexe: Azure Resource Manager IP Security Restrictions using Powershell

Une autre façon est que vous pouvez publier projet avec méthode FileSystem:

Certaines tâches de construction:

  1. Visual Studio Build (arguments MSBuild: /p:SkipInvalidConfigurations=true /p:DeployOnBuild=true /p:WebPublishMethod=FileSystem /p:publishUrl="$(build.artifactstagingdirectory)\\" /p:DeployDefaultTarget=WebPublish)
  2. Publier des artefacts Construction (chemin de publier: $ (build.artifactstagingdirectory))

Tâches de sortie:

  1. Replace token ou autres tâches à mettre à jour web.config (pourrait utiliser File Transform & Variable Substitution Service Azure App Tâche de déploiement)
  2. Azure App Service Deploy (1. Décochez Publier en utilisant l'option WebDeloy 2. Package ou dossier: $ (System.DefaultWorkingDirectory)
+0

Cette approche présente un inconvénient lorsqu'elle ne fonctionne que pour le scénario de post-déploiement. – juvchan

+0

@juvchan Que voulez-vous dire scénario post-déploiement? Quel est le scénario de détail? –

+0

Dans mon cas, j'essaie d'ajouter de nouvelles entrées dans le fichier web.config. Je peux voir cette approche fonctionner, mais au niveau des ressources, ce qui n'est pas quelque chose que je peux faire. – Quass1m