首页 > 解决方案 > Azure DevOps AzureCLI@2 创建 linux webapp

问题描述

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

  - 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,这可以正常工作。

生成代理是一个运行最新版本 Azure CLI 的自托管 Windows 代理(已升级以确保这不是问题)。

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

标签: azure-devopsazure-cli

解决方案


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

我使用最新的 Azure cli 版本2.21.02.20.0. 他们都因上述错误而失败Linux Runtime 'DOTNETCORE|5.0' is not supported

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

您可以尝试将 azure cli 版本降级到2.8.0您的自托管 Windows 代理中。

如果您想使用云托管代理。您可以使用 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 命令创建 webapp。请参阅此示例


推荐阅读