簡體   English   中英

使用Windows批處理命令配置Jenkins CI作業和FreeFileSync批處理

[英]Configuring Jenkins CI Job and FreeFileSync Batch Using Windows Batch Command

我剛剛設置了Jenkins CI作為我的構建服務器但是我在正確配置FreeFileSync批處理文件和調用用於在構建應用程序之后部署應用程序的批處理文件的命令時遇到了問題。

call Path\deploy.ffs_batch

如果deploy.ffs_batch執行成功,則構建控制台顯示成功。 但是在deploy.ffs_batch設置錯誤的情況下,例如錯誤的路徑作為目標 ,構建永遠不會停止,並且Hudson上的控制台日志微調器不停地旋轉而不提供任何信息。

我嘗試過將上面的命令添加到Windows批處理命令之下:

if %errorlevel% neq 0 exit %errorlevel%

但是構建仍然不開心(旋轉器一直在旋轉)。

但是,當我檢查FreeFileSync批處理文件的日志文件夾時,我看到:

[03:52:46 PM]信息:開始比較
[03:52:46 PM]錯誤:找不到以下文件夾:D:\\ Deploy \\ 1 \\ Dev您可以忽略此錯誤,將每個文件夾視為空。 然后將在同步期間自動創建文件夾。
[03:52:46 PM]錯誤:同步已停止

我理解錯誤,我可以解決它。 但是,當發生這種情況時,我真的不想總是在日志文件夾中查找答案。 所以我的問題是如何在Hudson控制台日志上輸出FreeFileSync錯誤並使用Windows批處理命令中止構建?

我發現在發生錯誤時我錯過了一個重要步驟,並且在發生錯誤時停止同步以防止hudson作業構建無休止地運行。

FreeFileSync批處理作業

將此設置為停止后,我將批處理命令更新為:

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

請注意:還需要檢查“運行最小化”復選框,以避免作業連續運行。 當出現錯誤時,作業將運行並停止。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM