Azure DevOps YAML管道中的Azure容器实例创建问题

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

我正在将我的解决方案从经典管道迁移到Azure DevOps中的YAML管道。

管道中的步骤之一是根据我在先前步骤中构建并推送的映像创建ACI容器。

当我使用YAML管道运行此步骤时,失败,并显示以下消息-

“无法访问容器组'performance-testing-container-group'中的映像'registry.azurecr.io/performancerunner:1.0'。请检查映像和注册表凭据。”

当我从经典管道运行完全相同的ACI容器创建命令时,它就可以工作。

我正在使用如下所示的AzureCLI任务

- task: AzureCLI@1
  displayName: 'Run performance tests'
  inputs:
    azureSubscription: $(AZURE_SUBSCRIPTION)
    scriptType: 'bash'
    scriptLocation: 'scriptPath'
    scriptPath: 'LoadTesting/deployment/scripts/run_tests.sh' 

run_tests.sh的内容看起来像这样

az container create -g $PERFORMANCE_TESTING_RG_NAME --registry-login-server "$PERFORMANCE_TESTING_REGISTRY_NAME.azurecr.io" --registry-username $PERFORMANCE_TESTING_REGISTRY_NAME \
--registry-password $REGISTRY_PASSWORD --image $IMAGE_NAME \
-n $PERFORMANCE_TESTING_CONTAINER_NAME --cpu 1 --memory 8 --restart-policy Never \
--command-line "dotnet LoadTests.dll -n testApp -c 1000"

当我回显此命令时,使用从日志中替换的变量复制它并在本地运行它可以正常工作。

azure credentials azure-container-instances
1个回答
0
投票

对于您的问题,问题在于您显示的错误。在两种情况下,您将得到错误。一种是带有标签的图像在您使用的注册表中不正确。另外一个是注册表的凭据不正确。

有了这些消息,看来您的图片就可以了。然后,您需要关注两者的另一个原因。您可以通过变量设置凭据,所以我认为一种好方法是输出变量以检查其是否正确。

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