我正在试用Azure容器应用程序,但在尝试通过Azure管道部署时遇到了一个小问题,问题是我有一个Azure容器注册表,我想为ca-sandbox-1和ca-sandbox-2创建一个新修订版本,但由于它们位于不同的资源组中,因此在执行Azure管道时我总是得到“禁止
如果我在同一个资源组中创建Azure容器注册表,则管道运行良好。现在,如果我尝试在两个不同的资源组中创建新修订版本,则只能从AzureCLI或VSCode运行。是否有办法从Azure管道运行此操作?
Azurerg-core(资源组)
- acrcore(Azure容器注册表)
- ca-core(Azure容器应用)
rg-sandbox-1(资源组)
- ca-sandbox-1(Azure容器应用程序)
rg-sandbox-2(资源组)
- ca-sandbox-2(Azure容器应用程序)
蓝色管线.yml
- main
stages:
- stage: Build
displayName: Build and push stage
jobs:
- job: Build
displayName: Build
pool:
vmImage: 'ubuntu-latest'
steps:
- task: Docker@2
displayName: 'docker build and publish'
inputs:
containerRegistry: 'acr-core-connection'
repository: 'ca-core'
command: 'buildAndPush'
Dockerfile: '**/Dockerfile'
buildContext: '.'
- task: AzureContainerAppsRC@0
inputs:
azureSubscription: 'subs-rg-core'
acrName: 'acrcore'
imageToDeploy: 'acrcore.azurecr.io/api-sandbox:$(Build.BuildId)'
containerAppName: 'ca-sandbox-1'
resourceGroup: 'rg-sandbox-1'
targetPort: '80'
1条答案
按热度按时间70gysomp1#
有没有办法让这个工作从Azure管道?
根据您的描述,您需要访问不同资源组中的Azure容器注册表和Azure容器应用程序。
要满足您的要求,您需要创建订阅级别的服务连接。
导航到项目设置-〉服务连接-〉选择Azure Resource Manager服务连接。然后,只能选择Azure订阅。
在这种情况下,服务连接将有权访问整个Azure订阅。
例如: