在Travis Public Repository中如何添加一个对Pull请求起作用的Secure变量

问题描述 投票:7回答:1

我在一个公共存储库上有Travis-ci。完成执行后,它会生成一个我想上传到cloudinary.com的图像,但它可以是任何其他服务。

问题是要做到这一点,我需要在.travis.yml中添加auth令牌。但我不想公开公开它,因为travis提供了一种确保Env变量的方法:http://docs.travis-ci.com/user/environment-variables/#Secure-Variables。但是它们不适用于PULL请求:

由于将此类信息暴露给未知代码的安全风险,安全Env变量不适用于来自forks的pull请求。加密和解密密钥绑定到存储库。如果您将项目分叉并将其添加到Travis CI,它将具有与原始项不同的键。

任何人都知道如何添加可用于PUSH和PULL REQUESTS的隐藏值?

security authentication travis-ci
1个回答
0
投票

正如您在问题中所写的那样:根据官方Travis CI文档https://docs.travis-ci.com/user/environment-variables,您将无法从不受信任的构建(例如拉取请求)访问这些变量。这是有道理的,因为有人可以向您的存储库提交包含恶意代码的拉取请求,然后暴露您的秘密值。

底线:如果你想让秘密值可用于拉取请求,你必须假设它们不再是秘密 - 因此你也可以将未加密的值硬编码到你的.travis.yml并从那里使用它。这似乎不是一个好主意。 ;-)

在您的情况下可能的解决方案:您可以使用提供匿名上传的图像托管服务商?您不需要auth密钥,因此您的pull请求也可以上传。

© www.soinside.com 2019 - 2024. All rights reserved.