如何使用Windows批处理命令从旧构建中复制人工制品?

时间:2015-01-14 07:32:13

标签: jenkins jenkins-plugins

我有一个Jenkins项目并使用促销插件我能够使用windows batch命令提升构建并将目标目录中的artefact复制到远程共享。我这样做:

net use \\remoteserver\$myshare myUser /user:myPass
copy /y target\myartefact.apk \\remoteserver\$myshare\myartefact.apk

这样可以正常工作并复制人工制品。但是,它从当前工作空间(即最新版本)进行复制。

因此,如果我去推广旧版本,它不会复制该版本中的人工制品,而是从当前工作区/最新版本复制。

我知道我可能需要在windows batch命令中更改以下行:

copy /y target\myartefact.apk \\remoteserver\$myshare\myartefact.apk

但是,我该怎么做呢?我使用什么环境变量/路径来引用构建目录而不是 target \ myartefact.apk

我假设我需要类似的东西:

copy /y %JOB_NAME%\target\myartefact.apk \\remoteserver\$myshare\myartefact.apk

任何人都可以帮忙这个命令吗?

1 个答案:

答案 0 :(得分:0)

我设法弄明白了,并且能够使用以下复制命令访问相关的构建存档:

copy /y ..\builds\%PROMOTED_ID%\archive\target\myartefact.apk \\remoteserver\$myshare\myartefact.apk

请注意,%PROMOTED_ID%环境变量是使用促销插件时原始版本的目录。它取代了通常的%BUILD_ID%环境变量。因此,如果您没有使用促销插件,则可以使用以下内容访问旧的构建工件:..\builds\%BUILD_ID%\archive\target\myartefact.apk