2015-08-07 21 views
7

Mam tylko zainstalowania Jenkins CI jako mojego serwera kompilacji, ale mam problem z poprawnie konfigurując FreeFileSync pliku wsadowego i polecenia, który wywołuje plik wsadowy stosowany do wdrażania aplikacja po jej zbudowaniu.Konfigurowanie Jenkins CI Praca i FreeFileSync Batch Korzystanie z systemu Windows Batch polecenia

call Path\deploy.ffs_batch 

Konsola kompilacji wyświetla sukces, jeśli wykonanie deploy.ffs_batch zakończyło się pomyślnie. Ale w przypadku, gdy ustawienia deploy.ffs_batch były nieprawidłowe, na przykład niewłaściwa ścieżka jako docelowa, kompilacja nigdy się nie zatrzymuje, a logarytmiczna blokada logów na Hudson wciąż się kręci bez zatrzymywania i bez podawania jakichkolwiek informacji.

Co Próbowałem jest dodanie tego polecenia poniżej jednego powyższym do polecenia wsadowego systemu Windows:

if %errorlevel% neq 0 exit %errorlevel% 

Ale budować nadal nie jest zadowolony (tarczy utrzymuje się obracać).

Jednak, kiedy sprawdzić folder dziennika FreeFileSync pliku wsadowego, widzę to:

[03:52:46 PM] Info: Starting comparison
[03:52:46 PM] Error: Cannot find the following folders: D:\Deploy\1\Dev You can ignore this error to consider each folder as empty. The folders then will be created automatically during synchronization.
[03:52:46 PM] Error: Synchronization stopped

rozumiem błąd i mogę go naprawić. Ale naprawdę nie chcę zawsze szukać w folderze dziennika odpowiedzi, kiedy to nastąpi. Więc moje pytanie brzmi: jak mogę wypisać błąd FreeFileSync na logu konsoli Hudson, a także przerwać kompilację za pomocą polecenia wsadowego Windows?

Odpowiedz

2

Odkryłem, że brakowało mi jednego istotnego kroku, gdy wystąpił błąd, który zatrzymuje synchronizację, gdy wystąpi błąd, aby zapobiec ciągłemu tworzeniu się hudson.

FreeFileSync Batch Job

Po ustawieniu tego powstrzymać, zaktualizować polecenia wsadowego:

cd "Path\FreeFileSync\" 
FreeFileSync.exe "Path\deploy.ffs_batch" 
echo. 
echo. 
echo =============================================================================== 
echo ##### Results : 
echo =============================================================================== 
echo. 
echo. 
@echo off 
for /f "delims=" %%x in ('dir "Path\logs\" /od /b') do set recent=%%x 
echo. 
echo =============================================================================== 
if %ERRORLEVEL% == 0 goto SYNCSUCCESS 
if %ERRORLEVEL% == 1 goto SYNCWARNINGS 
if %ERRORLEVEL% == 2 goto SYNCERRORS 
if %ERRORLEVEL% == 3 goto SYNCABORTED 
goto SYNCFAIL 
:SYNCFAIL 
echo ##### FreeFileSync failed. 
type "path\logs\%recent%" 
exit 2 
:SYNCSUCCESS 
echo ##### FreeFileSync completed successfully! 
exit 0 
:SYNCWARNINGS 
echo ##### FreeFileSync completed, but with warnings. 
type "path\logs\%recent%" 
exit 1 
:SYNCERRORS 
echo ##### FreeFileSync completed, but with warnings. 
type "path\logs\%recent%" 
exit 2 
:SYNCABORTED 
echo ##### FreeFileSync aborted. 
type "path\logs\%recent%" 
exit 3 

Uwaga: Uruchom zminimalizowany wyboru należy sprawdzić również w celu uniknięcia pracy z systemem w sposób ciągły. Praca jest uruchamiana i zatrzymuje się, gdy wystąpi błąd.