0

我在 Jenkins 有几份工作,将源树中的工件存档用于另一份工作(一些单元测试或类似的)。我有目前的情况:

top_dir
  \scripts_dir
      \some_files
      \dir1
      \dir2
      \dir3
  \other_dir

我想归档“top_dir”中的所有内容,包括“scripts_dir”中的文件,但不归档“scripts_dir”中的子目录“dir1,dir2,...”,我不知道它们的名称。这些子目录实际上是指向磁盘上其他位置的 Windows 目录连接,我不希望它们被复制。

如何使用 Jenkins 的 inculde/excludes 模式实现这一点?

我已经试过了,有 include=top_dir/ , exclude=

**/scripts_dir/*/
**/scripts_dir/*/**
**/scripts_dir/**/*

但它总是排除整个“scripts_dir”文件夹。

4

2 回答 2

2

最后,通过使用蛮力,我发现以下表达式确实排除了scripts_dir(无论是否有符号链接)的子目录中的所有文件,然后删除这些子目录,同时将文件直接保留在scripts_dir

**/scripts_dir/**/*/*/

无论如何感谢您的帮助。

于 2013-02-22T08:05:56.260 回答
0

阅读ANT 手册,有一个followsymlinks属性默认为 true。您说您要排除的那些东西是符号链接(尽管我不确定这是否适用于 Windows 关节)。尝试添加followsymlinks=false

另一种解决方案:如果您的所有文件在scripts_dir扩展名中都有一定数量的字符,您可以将其放入您的 include 语句中。这只会拾取扩展名为 3 个字符的文件:
**/scripts_dir/*.???
更多信息请点击此处

于 2013-02-21T14:59:36.153 回答