Azure DevOps AzureCLI@2 创建 linux webapp

Azure DevOps AzureCLI@2 create linux webapp

我正在尝试使用 AzureCLI@2 管道任务创建一些资源。我正在创建一个资源组,然后创建一个 linux 应用服务计划,然后尝试创建一个使用该应用服务计划的网络应用。这是我的任务...

  - task: AzureCLI@2
    displayName: Create resources
    inputs:
      azureSubscription: ${{parameters.serviceConnectionName}}
      scriptType: ps
      scriptLocation: inlineScript
      inlineScript: | #I cannot get a linux webapp to work! ARGHHHH!
        az group create --location ${{parameters.location}} --name $(resourceGroup)
        az configure --defaults group=$(resourceGroup) location=${{parameters.location}}

        az appservice plan create -n $(appServicePlan) --sku ${{parameters.appPlanSku}} --is-linux

        az webapp create --name $(AppServiceName) --plan $(appServicePlan) --runtime --% "DOTNETCORE|5.0"

这是我收到的错误:

ERROR: Linux Runtime 'DOTNETCORE|5.0' is not supported. Please invoke 'az webapp list-runtimes --linux' to cross check

运行 az webapp list-runtimes --linux 给我

az webapp list-runtimes --linux
[
  "RUBY|2.5.5",
  "RUBY|2.6.2",
  "NODE|14-lts",
  "NODE|12-lts",
  "NODE|10-lts",
  "NODE|10.1",
  "NODE|10.10",
  "NODE|10.12",
  "NODE|10.14",
  "NODE|12.9",
  "PHP|7.2",
  "PHP|7.3",
  "PHP|7.4",
  "DOTNETCORE|2.1",
  "DOTNETCORE|3.1",
  "DOTNETCORE|5.0",
  "TOMCAT|8.5-jre8",
  "TOMCAT|9.0-jre8",
  "JAVA|8-jre8",
  "WILDFLY|14-jre8",
  "JBOSSEAP|7-java8",
  "TOMCAT|8.5-java11",
  "TOMCAT|9.0-java11",
  "JAVA|11-java11",
  "JBOSSEAP|7-java11",
  "PYTHON|3.8",
  "PYTHON|3.7",
  "PYTHON|3.6",
  "STATICSITE|1.0"
]

更令人沮丧的是,如果我在本地使用 Azure CLI,这会起作用。

构建代理是一个自托管 windows 代理 运行 最新版本的 Azure CLI(已升级以确保这不是问题所在)。

现在将切换到 windows 应用程序服务计划,因为我已经在这上面浪费了很多时间。有人有什么建议吗?

我测试发现是 Azure CLI 版本导致了上述问题。

我使用最新的 Azure cli 版本 2.21.02.20.0 进行了测试。他们都因上述错误 Linux Runtime 'DOTNETCORE|5.0' is not supported.

而失败

但是,我可以 运行 使用 Azure CLI 成功执行上述命令 2.8.0

您可以尝试在您自己的主机 windows 代理中将 azure cli 版本降级到 2.8.0

如果您想使用云托管代理。您可以 运行 下面的命令使用 powershell 任务降级云代理上的 azure cli 版本。

steps:
- powershell: |
   choco uninstall azure-cli --version=2.20.0  --force
   choco install azure-cli --version=2.8.0 --force

- task: AzureCLI@2

您也可以使用 azure powershell commands to create webapp. See this example