【问题标题】:how to make a build failed in hudson using batch command如何使用批处理命令在哈德逊构建失败
【发布时间】:2011-02-16 08:32:09
【问题描述】:

我在我们的 HTML 构建中使用 Hudson 使用 CI 的主要原因是使用 cse 验证器在每个文件期间验证 html 文件。为了验证 HTML,我使用了以下代码

@echo off

PUSHD "F:\Solutions\Documents\Design\html\ValTest"
For %%X in (*.html) do (
"C:\Program Files\HTMLValidator100\cmdlineprocessor"  -outputfile output.txt   -r1 %%X
set HTMLVAL_ERROR=%ERRORLEVEL%
type output.txt >> result.txt
)

    set ERRORLEVEL=%HTMLVAL_ERROR%

POPD

验证过程工作正常,但即使 HTML 文件中有错误,hudson 也不会触发构建失败,它总是成功。

请告诉我如何从批处理命令触发构建失败。

【问题讨论】:

    标签: windows build batch-file hudson command


    【解决方案1】:

    你应该使用退出命令:

    @echo off
    
    PUSHD "F:\Solutions\Documents\Design\html\ValTest" For %%X in (*.html) do ( "C:\Program Files\HTMLValidator100\cmdlineprocessor" -outputfile output.txt -r1 %%X set HTMLVAL_ERROR=%ERRORLEVEL% type output.txt >> result.txt )
    
    POPD
    
    exit %HTMLVAL_ERROR%
    

    设置整个批次的错误级别。

    【讨论】:

    • 但是它仍然成功并且输出文件显示文件中的1个错误,有三个html文件,一个的结果是CSE HTML Validator Professional v10.01(未注册)检查“test.html” (16447 个字符)。提交日期为 2010 年 12 月 7 日星期二上午 11:26:37。文件于 2011 年 2 月 18 日星期五上午 10:31:33 检查。检查的行数:68 在 0.00 秒内运行的程序数:168,结束标签数:59(73.8% 的开始标签带有结束标签),消息数:16,错误数:1(第 68 行中的第一个) ,警告数:20(第 2 行的第一个)其他两个文件几乎相同
    • 如果您尝试在 hudson 中执行简单的 Windows 批处理:退出 1。您会看到它使作业失败。所以我的猜测是你的 HTMLVAL_ERROR 设置不正确。可能是因为循环,只取最后一个html文件的错误值,所以如果最后一个文件成功...
    • 所有的html文件都有验证错误,但是errorlevel的值还是0,
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-18
    • 1970-01-01
    • 2014-09-27
    • 2011-05-17
    • 1970-01-01
    相关资源
    最近更新 更多