13

如何在 Jenkins 参数化构建“文件参数”中以原始文件名保存上传的文件?

4

2 回答 2

22

您可以从与参数名称(文件位置字段)同名的参数中获取原始文件名。

例如,如果文件位置是,my_file那么您可以通过执行将其重命名为原始位置:

mv my_file ${my_file}
于 2013-04-23T13:46:50.133 回答
2

Jenkins 参数化构建的“文件”参数在您的工作中始终使用相同的名称。

我们可以通过指定两个参数来绕过这个:

  • 一个参数是File类型- 这将获取文件的内容。
  • 其他参数是字符串类型- 这将获取文件的原始名称。

在我们的脚本中,我们通过第一个参数获取文件,
然后将其重命名为第二个。
(用户必须将相同的值粘贴到两个字段...)

更新:

正如Nux(和James Ruskin)所提到的,这个问题在 2011 年左右得到了解决
因此您现在可以通过以下方式访问原始文件:

例如,如果您的 File-Parameter 名为File1
那么您的脚本会获取该文件的内容File1
, 并且可以使用本地参数访问原始文件${File1}

我怀疑当脚本和用户不在同一个操作系统上时会变得很棘手,
即:用户在 Windows 中编写路径并且脚本在 Unix 上运行

于 2012-12-21T17:43:39.253 回答