我在Jenkins有几个工作,将源树中的工件归档到另一个工作中(一些单元测试或类似的工作)。我有目前的情况:
top_dir
scripts_dir
some_files
dir1
dir2
dir3
other_dir
我想归档"top_dir"中的所有内容,包括"scripts_dir"中的文件,但不归档"scripts_dir"中的子目录"dir1,dir2,…",我不知道它们的名称。这些子目录实际上是指向磁盘上其他位置的Windows目录关节,我不希望它们被复制。
我如何通过詹金斯的灌输/排除模式来实现这一点?
我已经试过了,include=top_dir/,exclude=
**/scripts_dir/*/
**/scripts_dir/*/**
**/scripts_dir/**/*
但它总是排除整个"scriptsdir"文件夹。
最后,通过使用蛮力,我发现以下表达式确实排除了scripts_dir
子目录中的所有文件(无论是否有符号链接),然后删除这些子目录,同时将文件直接保留在scripts_dir
:中
**/scripts_dir/**/*/*/
无论如何,谢谢你的帮助。
阅读ANT手册,有一个默认为true的followsymlinks
属性。你说那些你想排除的东西是符号链接(尽管我不确定这是否适用于Windows关节)。尝试添加followsymlinks=false
另一种解决方案是:如果scripts_dir
下的所有文件的扩展名中都有一定数量的字符,则可以将其放入include语句中。这将只拾取扩展名为3个字符的文件:**/scripts_dir/*.???
更多关于此的信息,请点击此处