Azure容器中的应用在Docker镜像推送上自动更新

ve7v8dk2  于 2023-06-24  发布在  Docker
关注(0)|答案(1)|浏览(123)

我有一个新的应用程序部署到Azure容器应用程序。镜像也存储在Azure容器注册表中。
我想要的是,当我用develop标签推送一个新图像时,容器应用程序会识别并创建一个新的版本。
你怎么做到的

9rnv2umw

9rnv2umw1#

若要在Azure容器应用程序中自动创建新版本,您可以使用CICD方法。谢谢@托马斯提出同样的建议。我按照下面的步骤来实现这一要求。
首先,我在Container应用中开启了托管身份,并分配了AcrPull权限,如截图所示。

接下来,我创建了一个包含两个任务的CI/CD管道。第一个任务是Docker@2(buildAndPush),第二个任务是AzureContainerApps@1(在Azure容器应用中创建新版本)

trigger: none

pool:
  vmImage: ubuntu-latest

steps:

- task: Docker@2
  displayName: Build & Push docker image to ACR
  inputs:
    containerRegistry: 'svc-acr' #using service connection for authenticating to ACR
    repository: 'testimg'
    command: 'buildAndPush'
    Dockerfile: 'Dockerfile'
    tags: |
      develop
      $(Build.BuildId)

- task: AzureContainerApps@1
  inputs:
    azureSubscription: 'svcv-g'
    acrName: 'containerregistryvjy'
    imageToDeploy: 'containerregistryvjy.azurecr.io/testimg:$(Build.BuildId)'
    containerAppName: 'acavjy01'
    resourceGroup: 'rg-name'
    containerAppEnvironment: 'managedEnvironment-rgname-bfb2'

要测试流,请保存并运行管道,然后验证输出。
enter link description here

我还在代码中做了一个小的更改,并运行了管道,以确保持续部署(CD)按预期工作。

相关问题