从VSTS发布期间修改Azure AppService ipsecurity

时间:2017-09-21 21:38:30

标签: powershell azure azure-devops release whitelist

我正在尝试将新的IP地址添加到Azure AppService的白名单中。我无法使用XML转换或只是替换令牌,因为所需的新条目列表将在发布之初而不是之前获得。我也无法修改压缩网站的内容(使用/ p:DeployOnBuild = True发布)。部署使用“Azure App Service Deploy”任务完成。我知道Set-AzureRMWebApp cmdlet,但它只允许修改appSettings和connectionStrings部分。还有其他解决方案吗?

1 个答案:

答案 0 :(得分:3)

使用Set-AzureRMResource 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

相关主题:Azure Resource Manager IP Security Restrictions using Powershell

另一种方法是您可以使用FileSystem方法发布项目:

一些构建任务:

  1. Visual Studio Build(MSBuild参数:/p:SkipInvalidConfigurations=true /p:DeployOnBuild=true /p:WebPublishMethod=FileSystem /p:publishUrl="$(build.artifactstagingdirectory)\\" /p:DeployDefaultTarget=WebPublish
  2. 发布构建工件(发布路径:$(build.artifactstagingdirectory))
  3. 发布任务:

    1. Replace token或更新web.config的其他任务(可以在Azure App Service Deploy任务中使用File Transform & Variable Substitution
    2. Azure App Service Deploy(1。取消选中使用WebDeloy发布选项2.包或文件夹:$(System.DefaultWorkingDirectory)