You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查看Docker容器内Jenkins Robot Framework插件的报告?

解决Docker化Jenkins中Robot Framework报告的浏览器访问问题

方案1:利用Jenkins工件归档+内置访问路径

  • 构建后把log.html和report.html归档为Jenkins工件
    • 在Jenkinsfile(或自由风格项目的构建后步骤)里添加归档配置:
      post {
        always {
          archiveArtifacts artifacts: '**/log.html, **/report.html', fingerprint: true
        }
      }
      
      (如果是CasC配置,可在项目配置的postBuilders节点中对应添加归档步骤)
  • 归档完成后,直接从Jenkins构建页面访问:进入对应构建的详情页,点击左侧菜单的工件,就能找到这两个HTML文件,点击即可直接在浏览器打开——Jenkins会自动处理容器内文件的访问转发,无需额外配置。

方案2:使用Robot Framework插件的内置报告入口

Robot Framework插件本身在Jenkins构建页面提供了专属的报告入口,无需直接访问HTML文件:

  • 构建完成后,进入对应构建的详情页,左侧菜单会出现Robot Framework Report和Robot Framework Log选项,点击就能直接查看格式化后的报告,完全绕开文件路径变化的问题。

方案3:挂载容器报告目录到宿主机+Nginx动态路径配置

如果坚持要用Nginx代理访问,可通过正则匹配解决构建编号动态变化的问题:

  • 第一步:修改Jenkins容器启动命令,把Robot报告的生成目录挂载到宿主机。假设容器内报告生成在/var/jenkins_home/workspace/<项目名>/output/,挂载到宿主机/jenkins-reports/:
    docker run -d -p 8080:8080 -v /jenkins-reports/:/var/jenkins_home/workspace/<项目名>/output/ jenkins/jenkins:lts
    
    (注意替换<项目名>为实际项目名称,同时在CasC配置中确保Robot的报告输出路径指向这个挂载目录)
  • 第二步:配置Nginx的location规则,用正则匹配构建编号:
    server {
      listen 80;
      server_name your-ip;
    
      location ~ ^/reports/(\d+)/ {
        alias /jenkins-reports/$1/;
        index log.html report.html;
        autoindex on; # 可选,开启目录浏览方便查找报告
      }
    }
    
    配置完成后,访问http://<你的IP>/reports/<构建编号>/log.html就能直接打开对应构建的报告。

方案4:使用Jenkins HTML Publisher插件

  • 安装HTML Publisher插件后,在构建后步骤添加Publish HTML reports配置:
    • 设置HTML directory to archive为报告所在的容器内路径(比如output/)
    • 设置Index page[s]为log.html, report.html
    • 勾选Allow untrusted HTML(如果报告包含动态渲染内容)
  • 配置完成后,构建详情页左侧会出现HTML Report入口,点击即可查看报告,Jenkins会负责处理容器内文件的访问逻辑。

内容的提问来源于stack exchange,提问作者sohmahmood

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 16:52:09