1

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

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

在推送更新到功能分支或拉取请求时,发现测试是由travis ci自动运行的,这非常棒。但是我开始想知道是什么保护了我,防止有人提出请求,恶意收集对象并将其推向外部,从而揭示我的宝贵环境变量。

如何确保环境证书(如API证书)在travis ci中受到保护以进行系统测试?

我应该甚至通过创建系统测试?或者我应该伪造对外部服务的请求?

回答

0

特拉维斯CI文件说:

对于安全的数据保护,特拉维斯CI使它只 在同一版本库即将引入请求提供。这些被认为是值得信赖的 ,因为只有具有对存储库的写入访问权限的成员才能发送 。

从分叉存储库发送的请求请求在其构建中没有可用的数据 。所有被认为是机密 的数据都不会被添加到版本的环境中。

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