Jenkins运行的用于构建工作区的脚本

Jenkins运行的用于构建工作区的脚本,jenkins,Jenkins,场景:我有一个脚本,它生成一些文件,Jenkins需要使用SCP将这些文件转移到不同的目标主机。在使用专门插件(如Maven)的情况下,生成的工件默认放置在build workspace目录中,但这是一个驻留在Jenkens服务器文件系统中的脚本,它会在输入配置告诉它的任何地方转储文件。我希望我可以提供Jenkins SSH作业的绝对路径,但这没有起作用——显然,它的可访问性范围是特定构建的工作区。因此,尽管job GenerateFile成功地将适当的文件转储到静态位置(例如/var/loca

场景:我有一个脚本,它生成一些文件,Jenkins需要使用SCP将这些文件转移到不同的目标主机。在使用专门插件(如Maven)的情况下,生成的工件默认放置在build workspace目录中,但这是一个驻留在Jenkens服务器文件系统中的脚本,它会在输入配置告诉它的任何地方转储文件。我希望我可以提供Jenkins SSH作业的绝对路径,但这没有起作用——显然,它的可访问性范围是特定构建的工作区。因此,尽管job GenerateFile成功地将适当的文件转储到静态位置(例如/var/local/dump),但下游的job SendFilesOver无法访问这些文件


问题:如何在GenerateFiles中指定参数,将文件转储到${JENKINS_WORKSPACE}/${THIS_BUILD}中,以便SendFileOver可以从那里复制它(使用“从另一个项目复制工件”)到它自己的工作区,这样它就可以将它转移到目的地?

我希望您可以使用
shell脚本来完成这一切。所以,在生成所有文件后,例如,到一个自定义静态位置,设置一个指向该位置的变量。现在使用该路径,将该目录/文件复制到构建工作区,以便下游作业可以访问这些文件。我认为您可以使用Jenkins的
$workspace
env var获取当前工作区。希望这能有所帮助。

如何生成文件?
generateFile
生成文件?包含参数的Python脚本在Python脚本中也可以这样做。