2013-02-21 5 views
0

Jenkins에서 다른 작업 (일부 단위 테스트 또는 유사)을위한 소스 트리의 아티팩트를 아카이브하는 몇 가지 직업이 있습니다. 나는 현재의 상황이 :jenkins artifact 모든 하위 디렉토리 제외

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

내가 모두가 파일 "scripts_dir"에 포함 "top_dir"에 보관하고 싶은,하지만하지 하위 디렉토리 "DIR1, DIR2, ..."하는 나는 "scripts_dir"에있는 이름을 모른다. 이 하위 디렉토리는 실제로 디스크의 다른 위치를 가리키는 Windows 디렉토리 조인트이므로 복사하지 않아도됩니다.

젠킨스의 인슐 드/제외 패턴을 사용하여 어떻게 달성 할 수 있습니까? 가진

이미 시도

는 포함 = top_dir /, =

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

제외하지만 항상 전체 "scripts_dir"폴더를 exculdes.

답변

2

**/scripts_dir/*.???
더, 무력을 사용하여, 나는 다음과 같은 식 (scripts_dir의 하위 디렉토리에있는 모든 파일을 제외 어떤 심볼릭 링크를한다는 것을 발견

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

감사합니다 도움 어쨌든 : scripts_dir에서 직접 파일을 유지하면서 여부), 다음, 이들 하위 디렉토리를 제거.

0

ANT manual을 보면 followsymlinks 속성의 기본값은 true입니다. 당신은 제외시키고 자하는 것들이 심볼릭 링크라고 말했다. (윈도우 조인트와 함께 작동하는지 모르겠지만). 추가를 시도하십시오 followsymlinks=false

또 다른 해결책 : scripts_dir 아래에있는 모든 파일에 확장 문자 세트 문자가있는 경우이를 include 문에 넣을 수 있습니다. 이 3 개 문자의 확장자 만 픽업 파일을 것입니다 :
마지막으로이 here

+0

불행히도 Jenkins의 웹 인터페이스 만 사용합니다. 따라서 config.xml을 해킹하는 것은 옵션이 아닙니다. 양자 택일로,'scripts_dir'에있는 파일들은 다른 확장자 크기를 가지고 있습니다 ... – user2095591

+0

그러나 그들은 모두 확장자를 가지고 있습니까? 따라서 **/scripts_dir/*.?, **/scripts_dir/*. ??, **/scripts_dir/*. ???, **/scripts_dir/*에 대한 여러 일치를 포함 할 수 있습니다. . 이것은 최대 4 문자 확장자를 처리 할 것입니다. – Slav