使用Powershell创建应用程序服务或插槽

时间:2020-04-15 21:32:53

标签: powershell azure-devops iaas

我正在azure devop上配置CI / CD管道。我们的主要目的是为每个请求请求自动创建一个环境,以便我们的质量检查团队可以在将票证发送给代码审查之前对其进行测试。

我有一个天蓝色的构建管道,构建完成后会触发发布管道。我的发布管道执行以下阶段:

  1. 第1阶段:创建应用服务槽位
  2. 第2阶段:部署到第1阶段创建的App Service插槽

我的问题基于第二阶段:

我当前的过程:

我目前正在特定应用程序服务上创建一个插槽,以便将应用程序部署到该插槽,我的质量检查团队可以在代码检查之前测试此功能。我正在使用Azure CLI命令来执行此操作。我遇到问题,需要更改此方法,因为我不知道每个应用程序服务的插槽限制为20个。

我需要做什么:

我需要配置发布阶段2,以自动获取带有特定标签的所有应用服务,验证是否已达到广告位限制;如果已达到插槽限制,则需要创建一个新的应用程序服务;如果尚未达到插槽限制,则需要创建一个插槽。我一直在网上搜索,显然我可以使用Powershell完成此操作。这是我需要使用Powershell完成的步骤:

  1. 获取具有特定标签的应用服务列表
  2. 遍历每个应用程序服务。在每次迭代中,我需要:
    • 获取此特定应用服务的当前广告位数量
    • 如果广告位数量少于20,请创建一个新广告位并中断迭代
    • 如果广告位数量等于20,则继续进行下一个迭代
    • 如果所有迭代均已完成且未创建任何广告位,则需要创建一个新的应用服务

我们如何使用Powershell做到这一点?我基本上将把这个Powershell包含在我的Azure devops发布管道中。

1 个答案:

答案 0 :(得分:1)

我知道这可能不是您要寻找的答案。与必须使用所有细节处理的PowerShell不同,我建议您将管道转换为使用Azure App Service Deploy任务(https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/azure-rm-web-app-deployment?view=azure-devops)。

您需要做的就是在参数中指定要部署到的插槽,无论是新插槽还是现有插槽。