【问题标题】:Configuring Jenkins CI Job and FreeFileSync Batch Using Windows Batch Command使用 Windows 批处理命令配置 Jenkins CI 作业和 FreeFileSync 批处理
【发布时间】:2015-08-07 07:11:42
【问题描述】:

我刚刚将 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:\部署\1\开发 您可以忽略此错误以将每个文件夹视为空。然后文件夹将在期间自动创建 同步。
[03:52:46 PM] 错误:同步已停止

我明白这个错误,我可以修复它。但我真的不想在发生这种情况时总是在日志文件夹中查找答案。所以我的问题是如何在 Hudson 控制台日志上输出 FreeFileSync 错误并使用 Windows 批处理命令中止构建?

【问题讨论】:

    标签: windows jenkins command-line cmd continuous-integration


    【解决方案1】:

    我发现在发生错误时我错过了一个重要步骤,那就是在发生错误时停止同步以防止 hudson 作业构建无休止地运行。

    将其设置为停止后,我将批处理命令更新为:

    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
    

    请注意:运行最小化复选框也需要选中,以避免作业连续运行。 作业运行并在出现错误时停止。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-01
      • 1970-01-01
      • 2018-02-19
      相关资源
      最近更新 更多