Azure DevOps 不支持 Docker@2 的构建参数

cfb*_*fbd 6 dockerfile azure-devops

我需要将构建 id 参数从 Azure Devops 传递到 yaml 管道中的 dockerfile。不幸的是,Azure Devops 不支持 dockerbuild-args参数,如下所示。

请注意,如果您使用值 buildAndPush 作为命令参数,则arguments 属性将被忽略。 来源

还有其他方法可以将参数从 Azure Devops 传递到 dockerfile 吗?

Kev*_*SFT 6

还有其他方法可以将参数从 Azure Devops 传递到 dockerfile 吗?

是的。BuildAndPush命令不支持添加参数。

Build命令支持它。

您可以将 build 和 push 拆分为 Docker 构建任务和 docker 推送任务。

这是一个例子:

steps:
- task: Docker@2
  displayName: Docker Build 
  inputs:
    command: build
    repository: $(imageRepository)
    containerRegistry: $(dockerRegistryServiceConnection)
    dockerfile: $(dockerfilePath)
    tags: 5.12.4
    arguments: '--build-arg test_val="$(build.buildid)" '
- task: Docker@2
  displayName: Docker Push
  inputs:
    command: push
    repository: $(imageRepository)
    containerRegistry: $(dockerRegistryServiceConnection)
    tags: 5.12.4
Run Code Online (Sandbox Code Playgroud)

Docker 构建步骤结果:

在此输入图像描述