Артефакт архива jenkins, исключая все подкаталоги

У меня есть пара заданий в Jenkins, которые архивируют артефакты из исходного дерева для другого задания (некоторые модульные тесты или что-то подобное). У меня текущая ситуация:

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

Я хотел бы заархивировать все, что находится в "top_dir", включая файлы в "scripts_dir", но не подкаталоги "dir1, dir2,...", имя которых мне неизвестно, т.к. находятся в "scripts_dir". Эти подкаталоги на самом деле являются соединениями каталогов Windows, которые указывают на другие места на диске, и я не хочу, чтобы они копировались.

Как мне добиться этого с помощью шаблона включения/исключения Дженкинса?

Я уже пробовал, имея include=top_dir/ , exclude=

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

но он всегда исключает всю папку «scripts_dir».


person user2095591    schedule 21.02.2013    source источник


Ответы (2)


Наконец, используя грубую силу, я обнаружил, что следующее выражение действительно исключает все файлы в подкаталогах scripts_dir (независимо от символической ссылки или нет), а затем удаляет эти подкаталоги, сохраняя файлы непосредственно в scripts_dir :

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

Все равно, спасибо за помощь.

person user2095591    schedule 22.02.2013

Прочитав руководство по ANT, вы найдете атрибут followsymlinks, который по умолчанию имеет значение true. Вы сказали, что те вещи, которые вы хотите исключить, — это символические ссылки (хотя я не уверен, что это будет работать с соединениями Windows). Попробуйте добавить followsymlinks=false

Другое решение: если все ваши файлы под scripts_dir имеют определенное количество символов в расширении, вы можете поместить это в свой оператор включения. Будут подхватываться только файлы с расширениями из 3 символов:
**/scripts_dir/*.???
Подробнее об этом здесь

person Slav    schedule 21.02.2013
comment
К сожалению, я использую только веб-интерфейс Jenkins. Таким образом, взлом config.xml не вариант. Кроме того, файлы в scripts_dir имеют разный размер расширения... - person user2095591; 21.02.2013
comment
Но у них у всех есть расширение? Таким образом, вы можете включить несколько совпадений для **/scripts_dir/*.?, **/scripts_dir/*.??, **/scripts_dir/*.???, **/scripts_dir/*.????. Это будет обрабатывать расширение до 4 символов - person Slav; 21.02.2013