az containerapp exec 在 azure devops 管道的 azure cli 任务中抛出异常

问题描述 投票:0回答:1

`我正在尝试在 azure 容器应用程序中执行命令,但出现以下错误:

2024-01-31T20:47:13.9713698Z 线程 Thread-1 中出现异常(read_ssh): 2024-01-31T20:47:13.9718303Z 回溯(最近一次调用最后一次): 2024-01-31T20:47:13.9723276Z 文件“threading.py”,第 1038 行,位于 _bootstrap_inner 2024-01-31T20:47:13.9723860Z 文件“threading.py”,第 975 行,运行中

inlineScript:'az containerapp exec --name test --resource-group test-RG --command"/bin/shpostbuild.sh"'

注意:如果我尝试在本地 powershell 中执行,相同的 exec 命令将按预期工作

问题在于对容器执行命令。我想从 DevOps 管道中执行 Azure 容器中的命令`

azure azure-devops azure-cli azure-container-apps azure-cli2
1个回答
0
投票

这是“

az containerapp exec
”和“
az container exec
”命令的已知问题/限制,因为它们是交互模式。因此,当在 Azure Pipelines 中以非交互模式运行时,这些命令无法工作。

请参阅以下文章:


正如上述文章中提到的解决方法,您可以尝试在 Ubuntu 代理上使用 Azure CLI 任务运行以下命令行(例如,

ubuntu-latest
)。我已经在管道中测试了这个命令行,它可以正常工作。

script -q -c 'az containerapp exec --name test --resource-group test-RG --command"/bin/shpostbuild.sh"'

在 Ubuntu 代理上将 AzureCLI@2 任务与

bash
(Shell)一起使用。

- task: AzureCLI@2
  displayName: 'Azure CLI'
  inputs:
    azureSubscription: {ARM Service Connection}
    scriptType: bash
    scriptLocation: inlineScript
    inlineScript: 'script -q -c ''az containerapp exec --name test --resource-group test-RG --command"/bin/shpostbuild.sh"'''

或者在 Ubuntu 代理上将 AzureCLI@2 任务与

pscore
(PowerShell Core) 结合使用。

- task: AzureCLI@2
  displayName: 'Azure CLI'
  inputs:
    azureSubscription: {ARM Service Connection}
    scriptType: pscore
    scriptLocation: inlineScript
    inlineScript: 'script -q -c ''az containerapp exec --name test --resource-group test-RG --command"/bin/shpostbuild.sh"'''

© www.soinside.com 2019 - 2024. All rights reserved.