2017-10-18 38 views
0

在VSTS中,我正在尝试构建Docker镜像。在我的“构建映像”步骤中,当查看输出日志时,我看到黄色文本显示“由于未设置Build.SourceVersion而无法检索源代码”。也许这是因为我检查了“包含源标签”框。我之后立即添加了bash步骤,并试图在输出日志中显示为空的echo $(Build.SourceVersion)echo $BUILD_SOURCEVERSIONVSTS - 无法检索源标签,因为Build.SourceVersion未设置

基于https://docs.microsoft.com/en-us/vsts/build-release/concepts/definitions/build/variables?tabs=batch,我应该能够使用该预定义变量就好了。

enter image description here

可能,而不是“Github上”(我们使用Github的企业)

我缺少的东西是值得指出的是,我已经连接到源部分中的“远程回购”关于这个“预定义变量”?

回答

0

的解决方法是,你可以通过的Git命令得到(添加命令行任务运行蝙蝠,或PowerShell的任务),然后设置/通过Logging Commands创建一个变量(如tag可变)(例如echo "##vso[task.setvariable variable=tag;]tagvalue")的标签,之后,您可以在附加图片标签 Docker任务的输入框($(tag))中指定此标签。

+0

我喜欢这种策略,但有没有办法做类似的事情,除了使用bash?例如,有没有办法让我在'bash'中设置一个变量,然后在另一个下游环境中使用它? –

+0

@sg哪个下游环境?你的意思是释放环境吗?不,只能在当前的环境中使用。您可以将相同的任务添加到其他环境中以设置变量。 –

+0

另一个构建步骤。如果我在bash构建步骤中使用该变量,并立即添加另一个bash步骤,我无法再使用该变量。我试图在第一个bash步骤中导出它,但它并没有持续到第二个bash步骤。 –