【问题标题】:How can I restrict access to Cobertura coverage report in Jenkins如何在 Jenkins 中限制对 Cobertura 覆盖报告的访问
【发布时间】:2012-08-28 21:52:55
【问题描述】:

我在多用户 Linux 环境中将 Jenkins 用于 CI,并使用 Cobertura 来跟踪代码覆盖率。 CVS 用于版本控制。每次“cvs commit”都会触发一次构建。构建包括运行单元测试和生成代码覆盖率。

问题如下。创建代码覆盖率报告时,也会创建所有单元测试源文件的逐行覆盖率。这在编写和运行单元测试时很好并且非常有用,但它也允许每个可以访问网络的人查看项目源文件。

我的问题是如何限制此逐行覆盖率报告仅对一组 Jenkins 用户或类似用户可见,而对其他人不可见。

我看到 Jenkins 允许配置不同的“安全领域”。目前我使用“詹金斯自己的用户数据库”。我看到还有“Unix 用户/组数据库”,这听起来可能会解决我的问题,但我只是想在尝试该选项之前询问其他人的经验和意见。

提前致谢!

【问题讨论】:

    标签: version-control jenkins code-coverage cobertura source-code-protection


    【解决方案1】:

    Jenksing 不提供细粒度的授权。此外,Cobertura 报告只是一组静态 html,因此您可以研究 Web 容器配置以找到定义过滤器等的方法。

    我想说最安全的解决方案是使用另一个 jenkins 实例来处理敏感信息。你可以把它放在配置了 HTTPS 的 Apache 之后,然后好好睡一觉。顺便说一句,有 JobImport 插件https://wiki.jenkins-ci.org/display/JENKINS/Job+Import+Plugin 以避免重复。

    【讨论】:

      【解决方案2】:

      最好将报告工件导出到支持访问控制的其他位置。它可以是 wiki 或 Apache 实例等。更好地保护 Jenkins 实例,而不是花费宝贵的时间来保护它的某些部分。

      没有这样的功能意味着不需要它。

      【讨论】:

        猜你喜欢
        • 2017-01-03
        • 2010-11-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-13
        • 1970-01-01
        • 1970-01-01
        • 2022-11-04
        相关资源
        最近更新 更多