繁体   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