【发布时间】:2020-03-24 09:58:40
【问题描述】:
我们将 Azure DevOps 用于我们的项目。我有 azure-pipelines.yml 文件,它使用构建 id 到 docker 图像标签。但是,我们希望手动添加 docker 镜像 ID 作为构建定义的一部分。
是否可以将运行时参数从构建队列 rest api 传递到 azure-pipelines.yml 文件?
azure-pipelines.yml
trigger:
- master
pool:
vmImage: 'Ubuntu-16.04'
resources:
- repo: self
variables:
imageName: 'sampleapp1'
dockerhubNS: 'kumaresh'
steps:
- task: Docker@2
displayName: Login to Docker Hub
inputs:
command: login
containerRegistry: dh-connection
- task: Docker@2
displayName: Build and Push an image
inputs:
command: buildAndPush
dockerfile: Dockerfile
containerRegistry: dh-connection
repository: $(dockerhubNS)/$(imageName)
tag: $(appBuildNumber)
构建队列的请求正文
"definition": {
"id": Build_Definition_Id,
"name": extractDefinitionName,
"type": "build"
},
"templateParameters": {
"tag": "1"
}
【问题讨论】:
-
手动添加构建ID是什么意思?
-
您可以创建一个变量并使用 $(Your_Tag) 将其传递给标签
-
当我在标签中传递环境变量时,我得到了这个错误。 ##[error]invalid argument "***.azurecr.io/project:$(dockertagvar)" for "-t, --tag" 标志:无效的参考格式。为什么它不读取变量的内容?
-
@cell-in 你可以试试这个
${{ parameters.tag }}并请参考答案。
标签: azure-devops azure-devops-rest-api