【问题标题】:Securing Jenkins multibranch pipeline for open source projects为开源项目保护 Jenkins 多分支管道
【发布时间】:2018-09-11 08:21:19
【问题描述】:

如何正确保护开源项目的 Jenkins 多分支管道?

我从事一个开源项目,并为社区做出了贡献 使用拉取请求。我想建立那些公关,但如果我这样做,那里 存在这些部分被修改并托管恶意代码或 窃取凭据

  • 管道
  • 管道的依赖关系
  • 测试套件
  • ...

为了它的价值,我做了研究,我的初学者观点是这样的:

1/ 想办法防止修改后的代码被执行:

  • 管道
  • 管道的依赖项

=> 有可能吗?

2/ 只在代理上执行构建,从不在主控上

3/ 找到一种方法来正确阻止代理访问机密(如 github/slack 令牌)

4/ 找到一种方法来减轻恶意测试代码的影响

  • 代理应该使用只有这个代理和主代理的子网
  • 代理应在单独的虚拟机/容器上运行

【问题讨论】:

    标签: jenkins continuous-integration jenkins-pipeline open-source pull-request


    【解决方案1】:

    2/ 只在代理上执行构建,而不是在 master 上 :- 永远不要使用“Agent Any”,而是在您的管道上使用 Agent 标签。您可以通过在阶段级别提及代理来将您的节点切换到管道执行。

    3/ 找到一种方法来正确阻止代理访问机密(例如 github/slack 令牌) :- 使用 Credentials 方法并在环境部分声明它。

      environment {
          YOUR_PASSWORD = credentials('<CREDENTIAL_ID>')
      }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-29
    • 2023-03-09
    相关资源
    最近更新 更多