如何使用 windows 批处理命令从旧版本中复制工件?
How do I use a windows batch command to copy an artefact from an old build?
我有一个 Jenkins 项目,使用 promotions 插件,我能够使用 windows 批处理命令提升构建并从目标目录复制一个工件到远程共享。我这样做:
net use \remoteserver$myshare myUser /user:myPass
copy /y target\myartefact.apk \remoteserver$myshare\myartefact.apk
这很好用并且复制了人工制品。但是,它从当前工作区(即最新版本)复制。
因此,如果我去推广旧版本,它不会从该版本复制人工制品,而是从当前 workspace/latest 版本复制。
我知道我可能需要在 windows 批处理命令中更改以下行:
copy /y target\myartefact.apk \remoteserver$myshare\myartefact.apk
但是,我要把它改成什么?我用什么环境variable/path来引用构建目录而不是target\myartefact.apk
我假设我需要这样的东西:
copy /y %JOB_NAME%\target\myartefact.apk \remoteserver$myshare\myartefact.apk
任何人都可以帮助这个命令吗?
我设法弄明白了,并且能够使用以下复制命令访问相关的构建存档:
copy /y ..\builds\%PROMOTED_ID%\archive\target\myartefact.apk \remoteserver$myshare\myartefact.apk
注意%PROMOTED_ID%环境变量是使用推广插件时的原始构建目录。它取代了通常的 %BUILD_ID% 环境变量。因此,如果您没有使用促销插件,您可以使用以下方式访问您的旧构建工件:..\builds\%BUILD_ID%\archive\target\myartefact.apk
我有一个 Jenkins 项目,使用 promotions 插件,我能够使用 windows 批处理命令提升构建并从目标目录复制一个工件到远程共享。我这样做:
net use \remoteserver$myshare myUser /user:myPass
copy /y target\myartefact.apk \remoteserver$myshare\myartefact.apk
这很好用并且复制了人工制品。但是,它从当前工作区(即最新版本)复制。
因此,如果我去推广旧版本,它不会从该版本复制人工制品,而是从当前 workspace/latest 版本复制。
我知道我可能需要在 windows 批处理命令中更改以下行:
copy /y target\myartefact.apk \remoteserver$myshare\myartefact.apk
但是,我要把它改成什么?我用什么环境variable/path来引用构建目录而不是target\myartefact.apk
我假设我需要这样的东西:
copy /y %JOB_NAME%\target\myartefact.apk \remoteserver$myshare\myartefact.apk
任何人都可以帮助这个命令吗?
我设法弄明白了,并且能够使用以下复制命令访问相关的构建存档:
copy /y ..\builds\%PROMOTED_ID%\archive\target\myartefact.apk \remoteserver$myshare\myartefact.apk
注意%PROMOTED_ID%环境变量是使用推广插件时的原始构建目录。它取代了通常的 %BUILD_ID% 环境变量。因此,如果您没有使用促销插件,您可以使用以下方式访问您的旧构建工件:..\builds\%BUILD_ID%\archive\target\myartefact.apk