我在公共存储库上有 Travis-ci。执行完成后,它会生成一个图像,我想将其上传到 cloudinary.com,但它可以是任何其他服务。
问题是,要做到这一点,我需要在 .travis.yml 中添加身份验证令牌。但我不想公开暴露它,为此 travis 提供了一种保护环境变量的方法:http://docs.travis-ci.com/user/environment-variables/#Secure-Variables http://docs.travis-ci.com/user/environment-variables/#Secure-Variables。但是它们不适用于 PULL 请求:
由于分叉的拉取请求,安全环境变量不可用
将此类信息暴露给未知代码的安全风险。
加密和解密密钥与存储库绑定。如果你分叉
一个项目并将其添加到 Travis CI,它将有不同的密钥
原来的。
任何人都知道如何添加可用于推送和拉取请求的隐藏值?
正如您在问题中已经写的:根据 Travis CI 官方文档https://docs.travis-ci.com/user/environment-variables https://docs.travis-ci.com/user/environment-variables您将无法从不受信任的构建(例如拉取请求)访问这些变量。这是有道理的,因为有人可以向您的存储库提交包含恶意代码的拉取请求,从而暴露您的秘密值。
底线:如果您想让秘密值可用于拉取请求,您必须假设它们不再是秘密 - 因此您也可以将未加密的值硬编码到您的.travis.yml
并从那里使用它。这似乎不是一个好主意。 ;-)
您的情况可能的解决方案:您可以使用提供匿名上传的图像托管服务吗?您不需要身份验证密钥,因此您的拉取请求也可以上传。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)