【问题标题】:Securing travis ci environmental variables in a open-source project for system testing在用于系统测试的开源项目中保护 travis ci 环境变量
【发布时间】:2016-06-09 16:31:46
【问题描述】:

我正在构建一个为第三方服务提供 API 的开源库。在此期间,我正在学习测试、git-flow 和持续部署,并遇到了一个与保护开源项目的环境变量相关的问题。

我目前通过 travis cli 生成了秘密环境变量:
travis encrypt key=value,用于自动化系统测试。

在将更新推送到功能分支或拉取请求时,注意到测试是由 travis ci 自动运行的,这太棒了。但我开始想知道是什么保护我免受有人发出拉取请求,恶意收集process.env 对象并将其推送到外部的东西,从而暴露我宝贵的环境变量。

如何真正确保环境凭据(例如 API 凭据)在 travis ci 中受到保护以进行系统测试?

我是否应该创建系统测试?还是应该伪造对外部服务的请求?

【问题讨论】:

    标签: node.js testing continuous-integration travis-ci system-testing


    【解决方案1】:

    Travis CI 文档说:

    为了保护安全数据,Travis CI 仅提供 来自同一存储库的拉取请求。这些被认为 值得信赖,因为只有对存储库具有写入权限的成员才能 发给他们。

    从分叉存储库发送的拉取请求没有此数据 在他们的版本中可用。所有被视为机密的数据 不会被添加到构建的环境中。

    https://docs.travis-ci.com/user/pull-requests#Security-Restrictions-when-testing-Pull-Requests

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-23
      • 1970-01-01
      • 2023-03-08
      • 2016-02-17
      • 1970-01-01
      相关资源
      最近更新 更多