将Azure容器应用部署到Azure管道中的不同资源组

t3psigkw  于 2022-12-24  发布在  其他
关注(0)|答案(1)|浏览(132)

我正在试用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'
70gysomp

70gysomp1#

有没有办法让这个工作从Azure管道?
根据您的描述,您需要访问不同资源组中的Azure容器注册表和Azure容器应用程序。
要满足您的要求,您需要创建订阅级别的服务连接。
导航到项目设置-〉服务连接-〉选择Azure Resource Manager服务连接。然后,只能选择Azure订阅。
在这种情况下,服务连接将有权访问整个Azure订阅。
例如:

相关问题