无法通过Web GUI更新构建服务器上的某些较旧的Jenkins作业。我可以使用作业配置历史记录插件之类的工具回滚到较早的配置,但是常规更新会使其在浏览器底部显示某些内容,例如Uploading (79%)
,进度高达9x%,最终在Chrome中出现错误,并显示[C0 ]。
[对于其他旧工作则不行,只有一小部分。我对他们的ERR_CONNECTION_RESET
进行了比较,没有发现任何问题。
我也已经卸载了MultiSCM插件,该插件过去显然引起了类似的问题。
当这些更新失败时,Jenkins日志本身未收到任何警告或错误。
我还将Jenkins更新为最新的LTS以及所有插件。
任何想法,怎么回事或如何解决?
在JavaMelody中,它看到POST失败,但是没有给出原因的任何指示:
config.xml
这很烦人,因为不知道错误的根源。在和FINEST
之间,没有詹金斯记录对您有帮助。在与开发人员的领导一起工作了几天后,我们无法在更改行为的系统或服务器设置上找到任何东西。
[我碰到一个在GitHub上遇到类似问题的人,他说对于他们的一个插件,如果有一个额外的SEVERE
符号,它将中断。这让我开始思考,这可能是插件输入的解析错误吗?
首先,我禁用了所有不是构建步骤的内容。这没有解决任何问题。然后,我开始在“构建步骤”部分中一次删除一种插件类型,最终将其范围缩小到EOL
个构建步骤。通过反复试验,我确定它是3批中的1批,并将其调试到最后一行。这是隐藏在批处理中的一部分:
Windows Batch Command
戴上我的解析错误的思想上限,我重构了这个,
@echo off
SetLocal EnableDelayedExpansion EnableExtensions
REM ...
call MsBuild.exe %SLN_FILE% /p:Configuration="%Build_Configuration%" /p:Platform="x86" -m -nodeReuse:false>nul 2>&1
if not "%errorlevel%"=="0" (
echo Preliminary build initially failed. Running with console output next
call MsBuild.exe /t:rebuild %SLN_FILE% /p:Configuration="%Build_Configuration%" /p:Platform="x86" -m -nodeReuse:false
if not "!errorlevel!"=="0" echo Preliminary x86 build failed. Exiting early... & exit /b 1
)
REM ...
exit /b 0
进入此,
if not "!errorlevel!"=="0" echo Preliminary x86 build failed. Exiting early... & exit /b 1
它又开始工作了。因此,它可能是消耗Jenkins方面的一个解析错误,但是当其输入被格式化为转义特殊字符时,实际的错误起源可能是if not "!errorlevel!"=="0" (
echo Preliminary x86 build failed
echo Exiting early
exit /b 1
)
模块。
仅供参考! :)