Jenkins - 将HTML报告发布到自定义URL

时间:2017-07-06 05:41:30

标签: html jenkins reporting

我在Jenkins的一个工作生成了一个html报告,并使用HTML Publisher Plugin从各个版本链接到它。在这种情况下,如果我想直接访问此HTML页面(假设未启用安全性,因此无需登录),我需要遵循具有以下格式的链接:

http://hostname:port/job/Some%20Job%20Name/buildNumber/Functional_Test_Report/

对于每个后续构建,URL将根据buildNumber进行更改。我想要一个漂亮的"将始终显示上一个报告的URL。说这样的话:

http://hostname:port/testReport

每次构建完成后,实际报告HTML将自动推送到此位置,并且无需每次都通过Jenkins查看报告。

有没有办法实现这个目标?

2 个答案:

答案 0 :(得分:0)

您应该能够公开BUILD_NUMBER via environment variables并从那里生成HTML报告所在的URL。你想怎么做取决于你,但是你可以做到这一点,Jenkins的工作要么在index.html文件中部署一个文件,其内部编号是硬编码的,<script>文件重定向到URL模式你发布在上面。这实际上取决于您hostname:port设置的方式。由于您只需要最新的报告,因此您可以简单地将其设置为最新作业始终覆盖旧文件。

我们做类似的事情虽然我们只是将构建号公开给PHP,JSP等文件,因此QA知道他们正在查看什么构建。然后,我们可以随时访问固定网址(hostname:port/status)。如果我们真的想要的话,我们可以让它重定向。

答案 1 :(得分:0)

在这里发布我自己的解决方案。也许不是最优雅但是一种方法是在Jenkins运行的同一台机器上部署HTTP服务器,并在相关的Jenkins作业中添加“post build步骤”,将HTML报告文件复制到HTTP服务器,覆盖现有文件,如果有什么。然后,报告将在HTTP服务器运行的任何端口上可用。