Jenkins版本:1.642.3 或 2.32.3
詹金斯机器Ubuntu 14.04日志解析器插件:2.0
从我的Mac OS sierra机器浏览Jenkins。
在Jenkins全局配置中,我创建了一个新条目(描述和文件路径(完整),其中文件包含以下内容)。
error /ERROR: Couldn't find any revision to build./
error /SyntaxError: Use of const in strict mode./
error /svn: E220003: /
error /npm ERR! fetch failed/
error /ERROR: Found inconsistencies/
error /ERROR: svn up failed for /
error /rsync error: /
warning /WARNING: /
warning /npm WARN retry/
warning /svn: E200033: /
warning /: binary operator expected/
warning /: too many arguments/
warning /: No such file or directory/
info /rsync: failed to set times on/
info /svn: E170001: /
我创建了一个测试作业并捕获所有这些情况(如上所列),在作业的post-build
部分内,通过选择相同的日志解析文件,我启用了“控制台输出(构建日志)解析”条目(列表框选择)。
我运行构建并按预期失败了。
Build step 'Console output (build log) parsing' changed build result to FAILURE
点击 Parsed Console Output (左侧栏),将我带到一个页面,但没有给我任何有意义的信息。
当我将鼠标悬停在上方的条形链接上时,会显示Jenkins正在查找给定作业版本号的https://.../../parsed_console网址(如上图中的地址栏所示)。
我在这里错过了获取Parsed Console Output页面的所有错误,警告和信息仪表板,就像这个插件声称在这里提供的内容:https://wiki.jenkins.io/download/attachments/43713289/parsed_console_output_3.JPG?version=1&modificationDate=1271216347000&api=v2
PS:
在我的$ JENKINS_HOME(在master上),在plugins文件夹下,我看到“log-parser.hpi”文件(最新文件和SHA与我在本地Mac机器上下载时看到的匹配)。在Jenkins重启期间,我没有看到任何与此插件相关的错误日志。
在Jenkins作业的$ JENKINS_HOME / 作业// builds / 文件夹中,我看到有效大小的有效 log * .html 文件(这些文件由此插件读取以显示单击“Parsed Console Output”侧栏链接时的信息。
浏览 log_ref.html 会显示有效的链接。
jenkins@jenkins-master:/opt/data/jenkins/jobs/testing_log_parser_testing/builds/14$ ls -ltr
total 40
-rw-r--r-- 1 jenkins jenkins 6 Aug 21 13:47 changelog.xml
-rw-r--r-- 1 jenkins jenkins 3145 Aug 21 13:47 log_content.html
-rw-r--r-- 1 jenkins jenkins 945 Aug 21 13:47 logwarningLinks.html
-rw-r--r-- 1 jenkins jenkins 4022 Aug 21 13:47 log_ref.html
-rw-r--r-- 1 jenkins jenkins 267 Aug 21 13:47 loginfoLinks.html
-rw-r--r-- 1 jenkins jenkins 277 Aug 21 13:47 log.html
-rw-r--r-- 1 jenkins jenkins 1130 Aug 21 13:47 logerrorLinks.html
-rw-r--r-- 1 jenkins jenkins 2315 Aug 21 13:47 log
-rw-r--r-- 1 jenkins jenkins 1089 Aug 21 13:47 injectedEnvVars.txt
-rw-r--r-- 1 jenkins jenkins 2391 Aug 21 13:47 build.xml
jenkins@jenkins-master:/opt/data/jenkins/jobs/testing_log_parser_testing/builds/14$ cat -n loginfoLinks.html
1 <li>1 <a target="content" href="log_content.html#INFO1"><span style="color:blue">rsync: failed to set times on/</span></a></li><br/>
2 <li>2 <a target="content" href="log_content.html#INFO2"><span style="color:blue">svn: E170001: Auth reqd i guess</span></a></li><br/>
jenkins@jenkins-master:/opt/data/jenkins/jobs/testing_log_parser_testing/builds/14$ cat -n logwarningLinks.html
1 HEADER HERE: #0
2 <li>1 <a target="content" href="log_content.html#WARNING1"><span style="color:orange">WARNING: are not that bad actually</span></a></li><br/>
3 <li>2 <a target="content" href="log_content.html#WARNING2"><span style="color:orange">npm WARN retry -- won't do any good</span></a></li><br/>
4 <li>3 <a target="content" href="log_content.html#WARNING3"><span style="color:orange">svn: E200033: db locked again?? no way</span></a></li><br/>
5 <li>4 <a target="content" href="log_content.html#WARNING4"><span style="color:orange">: binary operator expected -- lol</span></a></li><br/>
6 <li>5 <a target="content" href="log_content.html#WARNING5"><span style="color:orange">: too many arguments - check the usage please</span></a></li><br/>
7 <li>6 <a target="content" href="log_content.html#WARNING6"><span style="color:orange">: No such file or directory comes whenever you are looking for something which doesn't exist atm</span></a></li><br/>
jenkins@jenkins-master:/opt/data/jenkins/jobs/testing_log_parser_testing/builds/14$ cat log_ref.html
<!DOCTYPE html>
<html>
<head>
<title>log-parser plugin page</title>
<link type="text/css" rel="stylesheet" href="https://jenkins-master.company.com/jenkins_instance01/css/style.css" />
<link type="text/css" rel="stylesheet" href="https://jenkins-master.company.com/jenkins_instance01/css/color.css" />
</head>
<body>
<script type="text/javascript">
function toggleList(list){
element = document.getElementById(list).style;
element.display == 'none' ? element.display='block' : element.display='none';
}
</script>
<img src="https://jenkins-master.company.com/jenkins_instance01///static/a8e7a2ad/images/16x16/red.gif" style="margin: 2px;" width="24" alt="Error Icon" height="24" />
<a href="javascript:toggleList('Error')" target="_self"><STRONG>Error (7)</STRONG></a><br />
<ul id="Error" style="display:none; margin-left:0; padding-left:3em">
<a target="content" href="log_content.html">Beginning of log</a>
<br/>(7 Errors in this section)<br/>
<li>1 <a target="content" href="log_content.html#ERROR1"><span style="color:red">1 ERROR: Couldn't find any revision to build <= this is an error</span></a></li><br/>
<li>2 <a target="content" href="log_content.html#ERROR2"><span style="color:red">SyntaxError: Use of const in strict mode <= this is another type of error (syntax)</span></a></li><br/>
<li>3 <a target="content" href="log_content.html#ERROR3"><span style="color:red">svn: E220003: Unable to connect to a repository at URL</span></a></li><br/>
<li>4 <a target="content" href="log_content.html#ERROR4"><span style="color:red">svn: E220003: Invalid authz configuration</span></a></li><br/>
<li>5 <a target="content" href="log_content.html#ERROR6"><span style="color:red">npm ERR! fetch failed-- fetch may be?</span></a></li><br/>
<li>6 <a target="content" href="log_content.html#ERROR7"><span style="color:red">ERROR: svn up failed for --- well why not switch to Git/Hg</span></a></li><br/>
</ul>
<img src="https://jenkins-master.company.com/jenkins_instance01///static/a8e7a2ad/images/16x16/yellow.gif" style="margin: 2px;" width="24" alt="Warning Icon" height="24" />
<a href="javascript:toggleList('Warning')" target="_self"><STRONG>Warning (6)</STRONG></a><br />
<ul id="Warning" style="display:none; margin-left:0; padding-left:3em">
<a target="content" href="log_content.html">Beginning of log</a>
<br/>(6 Warnings in this section)<br/>
<li>1 <a target="content" href="log_content.html#WARNING1"><span style="color:orange">WARNING: are not that bad actually</span></a></li><br/>
<li>2 <a target="content" href="log_content.html#WARNING2"><span style="color:orange">npm WARN retry -- won't do any good</span></a></li><br/>
<li>3 <a target="content" href="log_content.html#WARNING3"><span style="color:orange">svn: E200033: db locked again?? no way</span></a></li><br/>
<li>4 <a target="content" href="log_content.html#WARNING4"><span style="color:orange">: binary operator expected -- lol</span></a></li><br/>
<li>5 <a target="content" href="log_content.html#WARNING5"><span style="color:orange">: too many arguments - check the usage please</span></a></li><br/>
<li>6 <a target="content" href="log_content.html#WARNING6"><span style="color:orange">: No such file or directory comes whenever you are looking for something which doesn't exist atm</span></a></li><br/>
</ul>
<img src="https://jenkins-master.company.com/jenkins_instance01///static/a8e7a2ad/images/16x16/blue.gif" style="margin: 2px;" width="24" alt="Info Icon" height="24" />
<a href="javascript:toggleList('Info')" target="_self"><STRONG>Info (2)</STRONG></a><br />
<ul id="Info" style="display:none; margin-left:0; padding-left:3em">
<li>1 <a target="content" href="log_content.html#INFO1"><span style="color:blue">rsync: failed to set times on/</span></a></li><br/>
<li>2 <a target="content" href="log_content.html#INFO2"><span style="color:blue">svn: E170001: Auth reqd i guess</span></a></li><br/>
</ul>
</body>
</html>
进一步调查此插件的GitHub source code( LogParserParser.java 文件)以及我在Jenkins作业的$ JENKINS_HOME / jobs // builds //文件夹中的内容后,我找到了log.html可能不正确。不确定为什么它指的是 build.log (如 href ),而文件系统上的没有这样的文件。 PS :<frame src=....
指的是log_ref和log_content.html文件,它们都可以正常渲染。
<frameset cols="270,*">
<frame src="log_ref.html" scrolling=auto name="sidebar">
<frame src="log_content.html" scrolling=auto name="content">
<noframes>
<p>Viewing the build report requires a Frames-enabled browser</p>
<a href='build.log'>build log</a>
</noframes>
</frameset>
此行显示变量 parsedLogURL 指向 log.html 。 https://github.com/jenkinsci/log-parser-plugin/blob/1cc883708524e33792d410a109e6cb69a4c0439b/src/main/java/hudson/plugins/logparser/LogParserParser.java#L162
浏览:https://<jenkins_server>/<instance>/job/<job_name>/<someBuildNumber>/parsed_console
(由Parsed Console Output
侧边栏链接引用不提供任何内容)和 https://<jenkins_server>/<instance>/job/<job_name>/<someBuildNumber>/parsed_console/log.html
(仅呈现垂直条形码) 2帧之间的线(它移动)但这2帧内的内容没有任何内容(log_ref.html和log_content.html))
在Firefox中:在我的Mac计算机上的浏览器上执行检查页面以获取“Parsed Console Output”侧栏链接(请参阅:https://<jenkins_server>/<instance>/job/<job_name>/<someBuildNumber>/parsed_console
),显示{{{}中的以下行1}}部分。
Inspect page > Console
如果我浏览Load denied by X-Frame-Options: https://<jenkins_server>/<jenkins_instance>/job/<job_name>/<build_number>/parsed_console/log.html does not permit framing. (unknown)
,那么我在https://<jenkins_server>/<instance>/job/<job_name>/<someBuildNumber>/parsed_console/log.html
窗口中收到以下内容:
Inspect page > Console
在Chrome中,在页面上执行https://<jenkins_server>/<jenkins_instance>/job/<job_name>/<build_number>/parsed_console/log_ref.html does not permit framing. (unknown)
Load denied by X-Frame-Options: https://<jenkins_server>/<jenkins_instance>/job/<job_name>/<build_number>/parsed_console/log_content.html does not permit framing. (unknown)
会显示以下错误(拒绝显示/帧,因为它将'X-Frame-Options'设置为'deny'/ net :: ERR_BLOCKED_BY_RESPONSE):
Inspect
答案 0 :(得分:1)
问题不在于插件。
在网页上使用Inspect
,很明显在Apache / Nginx中将某些内容设置为DENY。
我修改了我的/etc/nginx/sites-enabled/jenkins_https.conf
文件
#add_header X-Frame-Options DENY;
冉
sudo service nginx restart
插件现在按预期呈现输出。
另一个更好的解决方案是:
替换以下行
#add_header X-Frame-Options DENY;
在nginx配置文件中包含以下行:
add_header X-Frame-Options SAMEORIGIN;
价: https://geekflare.com/add-x-frame-options-nginx/ 或https://www.owasp.org/index.php/Clickjacking_Defense_Cheat_Sheet