在 travis-ci 上使用秘密 api 密钥

发布于 2025-01-06 23:15:38 字数 328 浏览 0 评论 0 原文

我想将 travis-ci 用于我的一个 travis-ci。 com/adelevie/parse-ruby-client" rel="noreferrer">项目。

该项目是一个 API 包装器,因此许多测试都依赖于 API 密钥的使用。为了在本地测试,我只是将它们存储为环境变量。在 Travis 上使用这些密钥的安全方法是什么?

I'd like to use travis-ci for one of my projects.

The project is an API wrapper, so many of the tests rely on the use of secret API keys. To test locally, I just store them as environment variables. What's a safe way to use those keys on Travis?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

幻想少年梦 2025-01-13 23:15:38

Travis 具有加密环境变量的功能(“加密环境变量” )。这可用于保护您的秘密 API 密钥。我已成功将其用于我的 Heroku API 密钥。

您所要做的就是安装 travis gem,加密您想要的字符串并将加密的字符串添加到您的 .travis.yml 中。加密仅对一个存储库有效。 travis 命令获取存储库的公钥,然后可以在构建过程中解密字符串。

gem install --user travis
travis encrypt MY_SECRET_ENV=super_secret -r my_username/my_repo

这将为您提供以下输出:

Please add the following to your .travis.yml file:

  secure: "OrEeqU0z6GJdC6Sx/XI7AMiQ8NM9GwPpZkVDq6cBHcD6OlSppkSwm6JvopTR\newLDTdtbk/dxKurUzwTeRbplIEe9DiyVDCzEiJGfgfq7woh+GRo+q6+UIWLE\n3nowpI9AzXt7iBhoKhV9lJ1MROrnn4DnlKxAEUlHTDi4Wk8Ei/g="

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. The travis command gets your public key for your repo and can then decrypt the string during the build.

gem install --user travis
travis encrypt MY_SECRET_ENV=super_secret -r my_username/my_repo

This gives you the following output:

Please add the following to your .travis.yml file:

  secure: "OrEeqU0z6GJdC6Sx/XI7AMiQ8NM9GwPpZkVDq6cBHcD6OlSppkSwm6JvopTR\newLDTdtbk/dxKurUzwTeRbplIEe9DiyVDCzEiJGfgfq7woh+GRo+q6+UIWLE\n3nowpI9AzXt7iBhoKhV9lJ1MROrnn4DnlKxAEUlHTDi4Wk8Ei/g="
荒人说梦 2025-01-13 23:15:38

根据 travis ci 文档中的 this 据说:

如果您同时安装了 Heroku 和 Travis CI 命令行客户端,则可以通过从项目目录运行以下命令来获取密钥、对其进行加密并将其添加到您的 .travis.yml 中:

travis encrypt $(heroku auth:token) --add deploy.api_key

请参阅 以下教程根据您的操作系统安装heroku客户端

according to this in travis ci documentation it's said that :

If you have both the Heroku and Travis CI command line clients installed, you can get your key, encrypt it and add it to your .travis.yml by running the following command from your project directory:

travis encrypt $(heroku auth:token) --add deploy.api_key

refer to the following tutorial to install heroku client according to your OS

南七夏 2025-01-13 23:15:38

您还可以在存储库设置中定义秘密变量< /a>:

存储库设置中定义的变量对于所有版本都是相同的,当您重新启动旧版本时,它会使用最新的值。这些变量不会自动供分叉使用。

在存储库设置中定义变量:

  • 每个存储库有所不同。
  • 包含敏感数据,例如第三方凭据。

要在存储库设置中定义变量,请确保您已登录,导航到相关存储库,从齿轮菜单中选择“设置”,然后单击“环境变量”部分中的“添加新变量”。

You can also define secret variables in repository settings:

Variables defined in repository settings are the same for all builds, and when you restart an old build, it uses the latest values. These variables are not automatically available to forks.

Define variables in the Repository Settings that:

  • differ per repository.
  • contain sensitive data, such as third-party credentials.

To define variables in Repository Settings, make sure you’re logged in, navigate to the repository in question, choose “Settings” from the cog menu, and click on “Add new variable” in the “Environment Variables” section.

新人笑 2025-01-13 23:15:38

使用一组不同的 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文