azure-devops - 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 CLI 版本。
我使用最新的 Azure cli 版本2.21.0
和2.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。请参阅此示例。
推荐阅读
- opencv - 带噪声的特征匹配
- regex - 正则表达式否定回溯到行中的任何位置
- python-3.x - mlflow 运行 git-uri 克隆到特定目录
- javascript - 在对象内调用 JavaScript 函数
- flutter - 错误:遵循 audio_service 教程时,没有为“MediaControl”类型定义获取器“暂停/停止/播放”
- html - 如何在检查元素中查看 HTML 路径文件?
- reactjs - 使用 React-table 根据元数据过滤行
- python - 使用任何 python 库从宏 excel 调用中获取单元格值到另一个工作表
- javascript - 后台切换分两部分
- reactjs - 在 axios.post 之后属性保持未定义