从 VSTS 发布期间修改 Azure App Service ip 安全

Modify Azure AppService ipsecurity during release from VSTS

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

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

相关主题:

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

一些构建任务:

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

发布任务:

  1. Replace token or Other tasks to update web.config (Could use File Transform & Variable Substitution 在 Azure 应用服务部署任务中)
  2. Azure 应用服务部署(1.取消选中使用 WebDeloy 选项发布 2.包或文件夹:$(System.DefaultWorkingDirectory)