Azure DevOps Docker@2任务多标签配置失败求助
Azure DevOps Docker@2 多标签配置解决方法
正确配置方式
1. 多行字符串写法(推荐)
使用YAML的多行字符串标记|来定义标签,每个标签单独一行,确保缩进正确:
- task: Docker@2 displayName: Build and push Docker image inputs: command: 'buildAndPush' containerRegistry: '你的容器注册表服务连接名' repository: '你的镜像仓库名' dockerfile: '**/Dockerfile' tags: | latest $(Build.BuildId) v1.0.0
|会保留换行符,Docker@2任务会自动将每行内容识别为独立标签。
2. 单行逗号分隔写法
如果偏好单行配置,可直接用逗号分隔多个标签:
- task: Docker@2 displayName: Build and push Docker image inputs: command: 'buildAndPush' containerRegistry: '你的容器注册表服务连接名' repository: '你的镜像仓库名' dockerfile: '**/Dockerfile' tags: 'latest,$(Build.BuildId),v1.0.0'
错误原因说明
- 列表格式报错:Docker@2的
tags字段仅接受字符串类型,不能直接用YAML序列(- 标签)的格式定义,否则会触发"A sequence was not expected"错误。 - 直接换行报错:未使用
|标记多行字符串时,YAML会将换行后的内容解析为单个带换行的字符串,Docker会把整个内容当作一个非法标签,导致镜像引用格式错误。
内容的提问来源于stack exchange,提问作者Jason
相关产品推荐
相关产品推荐

