在 travis-ci 上使用秘密 api 密钥
我想将 travis-ci 用于我的一个 travis-ci。 com/adelevie/parse-ruby-client" rel="noreferrer">项目。
该项目是一个 API 包装器,因此许多测试都依赖于 API 密钥的使用。为了在本地测试,我只是将它们存储为环境变量。在 Travis 上使用这些密钥的安全方法是什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
Travis 具有加密环境变量的功能(“加密环境变量” )。这可用于保护您的秘密 API 密钥。我已成功将其用于我的 Heroku API 密钥。
您所要做的就是安装 travis gem,加密您想要的字符串并将加密的字符串添加到您的
.travis.yml
中。加密仅对一个存储库有效。travis
命令获取存储库的公钥,然后可以在构建过程中解密字符串。这将为您提供以下输出:
Travis has a feature to encrypt environment variables ("Encrypting environment variables"). This can be used to protect your secret API keys. I've successfully used this for my Heroku API key.
All you have to do is install the travis gem, encrypt the string you want and add the encrypted string in your
.travis.yml
. The encryption is only valid for one repository. Thetravis
command gets your public key for your repo and can then decrypt the string during the build.This gives you the following output:
根据 travis ci 文档中的 this 据说:
请参阅 以下教程根据您的操作系统安装heroku客户端
according to this in travis ci documentation it's said that :
refer to the following tutorial to install heroku client according to your OS
您还可以在存储库设置中定义秘密变量< /a>:
You can also define secret variables in repository settings:
使用一组不同的 API 密钥并以相同的方式进行操作。您的 travis 盒子会为您的构建运行进行设置,然后在构建完成后再次完全拆除。在构建过程中您拥有对您的盒子的 root 访问权限,因此您可以用它做任何您想做的事情。
Use a different set of API keys and do it the same way. Your travis box gets setup for your build run and then completely torn down again after your build has finished. You have root access to your box during the build, so you can do whatever you want with it.