在开源项目中保护tr​​avis ci环境变量以进行系统测试

时间:2016-06-09 16:31:46

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

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

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

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

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

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

1 个答案:

答案 0 :(得分:0)

Travis CI文档说:

  

为了保护安全数据,Travis CI仅提供安全数据   来自同一存储库的pull请求。考虑这些   值得信赖,因为只有对存储库具有写访问权限的成员才能   发送它们。

     

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

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