尝试在我的docker构建步骤(版本1. *)中使用$(Rev:.r)
变量进行标记,但似乎不起作用。我总是得到
2019-01-14T21:42:24.4149933Z ## [错误]无效的参数 “ -t,--tag”标志的“ wp / imagename:0.6 $(rev:.r)”:无效的引用 格式2019-01-14T21:42:24.4160700Z ## [错误]请参阅'docker build - 救命'。 2019-01-14T21:42:24.4274219Z ## [错误] / usr / bin / docker失败,返回码:125
似乎没有发生任何变量替换,并且看起来它正在通过Qualify image name选项运行,并使用小写的R。其他任何人都可以使用$(Rev:.r)
变量吗?
无论在哪里尝试使用该变量都无所谓,我可以在“图像名称”选项或“自变量”选项中使用它,并且会给我同样的错误。
-t wp/imagename:0.6$(Rev:.r)
答案 0 :(得分:2)
未经解析就无法获得“修订号”,它不会存储为单独的字段。 $(Rev:.r)
部分指示Azure DevOps提出使内部版本号唯一的第一个数字(并在该特定示例中,在其前面加一个点)。仅最终版本号可用。
在解决方法中,在内部版本号的末尾添加$(Rev:.r)
(如果没有)。在Docker任务之前添加一个PowerShell脚本任务(您可以内联PowerShell来完成),并将以下代码放入:
$buildNumber = $Env:BUILD_BUILDNUMBER
$revision= $buildNumber.Substring($buildNumber.LastIndexOf('.') + 1)
Write-Host ("##vso[task.setvariable variable=revision;]$revision")
在您的Docker中,使用$revision
变量:
-t wp/imagename:0.6$(revision)
答案 1 :(得分:1)
我只能在选项下的内部版本号格式部分中识别它。如果您将其用作内部版本号,是否可以仅在此处设置内部版本号,然后使用$(Build.BuildNumber)进行引用?