2012-04-25 1 views
6

Mam 20 katalogów pod bagażnikuWykluczanie katalogu podczas jenkins kasie

/trunk/a1 
/trunk/a2 
/trun/a3 
.. 
.. 
/trunk/a20 

Jak wykluczyć (nie należą) niektóre (dowolne katalogi podczas Jenkins kasie. Na przykład chcę mieć wszystkie katalogi pod tułowia z wyjątkiem /trunk/A3/b1 Jak to zrobić?

ja już znalazłem odpowiedź w SVN checkout ignore folder ale nie jest to możliwe pod Jenkins. Potrzeba znacznie prostsze rozwiązanie, w którym nie wiem liczbę katalogów pod bagażniku z wyjątkiem tego, z którego pochodzę t do wykluczenia.

Również dodawanie niestandardowego svn checkout. Powiedzmy, że chcę uruchomić narzędzie linii poleceń svn, aby wykonać kasę?

+0

Dlaczego chcesz go wykluczyć? Dawka to za dużo, aby sprawdzić? A może za dużo miejsca? Powodem, dla którego pytam, jest to, że w zależności od powodu możesz być lepiej sprawdzając go, a następnie usuwając go. - –

+0

Powód, dla którego katalog jest pobierany, zawiera biblioteki kompilacji wstępnej, których budowa trwa kilka wieków. Jeśli ustawimy strategię kasowania na "Emulujmy kasę, najpierw usuwając niewersjonowane/zignorowane pliki, a następnie" zaktualizuj svn ", svn checkout usunie folder biblioteki plików, ponieważ pliki .lib i .obj są ustawiane jako pliki do zignorowania (to ustawienie musimy utrzymywać, aby programiści zatwierdzali tylko pliki źródłowe, ale nie pliki .lib lub .obj). Chcę uruchomić "Emuluj kasę, najpierw usuwając niewersjonowane/zignorowane pliki" z wyjątkiem jednego folderu. –

+1

@SriwanthaAttanayake: Osobiście polecam umieszczenie plików binarnych całkowicie poza kasą. Zależy od twojego systemu kompilacji, ale używałem go z make (używając 'VPATH'), autoconf (' cd build; ../ src/configure') i cmake ('cd build; cmake ../ src') . Z msbuild powinno być możliwe także przez zdefiniowanie 'IntDir' i' OutDir' na linii poleceń. Nie jestem pewien co do innych rodzajów IDE, ale wolę generować pliki projektów za pomocą cmake'a (cóż, projekt, nad którym pracuję, jest oparty na kilku bardzo różnych platformach, więc i tak była to jedyna opłacalna opcja). –

Odpowiedz

0

Ponieważ dokonujesz aktualizacji (i nie można dokończyć realizacji transakcji), możesz wykonać następujące czynności: po początkowym zakupie przejdź do katalogu, który chcesz zignorować, i wykonaj svn up --set-depth=empty. Kolejne aktualizacje nie aktualizują katalogu.

+0

Czy jesteś pewien, że Jenkins rzeczywiście uhonoruje ustawienie? Używa swojej własnej biblioteki subversion, która jest dość staroświecka przez większość czasu (svn 1.9 ma zostać wydana, ale Jenkins może nadal tworzyć tylko 1.7 kasowe - co dodatkowo oznacza, że ​​musisz ustawić 'svn' 1.7, aby ustawić opcję). –

1

Wiem, że to dużo za późno, ale może ta może być przydatna: https://issues.jenkins-ci.org/browse/JENKINS-25273

Ważne: Ta wersja zawiera szybki i brudny poprawki! W naszych testach był stabilny bez błędów, ale aby uniknąć problemów, zapisz środowisko Jenkins przed testowaniem go przed .

Zainstaluj: Po prostu usuń folder i pliki podwersji w folderze Jenkins - plugin i zastąp je plikiem subversion.hpi z biletu. Należy również utworzyć pusty plik o nazwie subversion.hpi.pinned w folderze wtyczek , aby zapewnić, że nowa wtyczka nie zostanie zastąpiona oryginalną.