6

我使用 travis-ci 来测试我的 node.js 应用程序。因为应用程序需要用户使用 Access Key 和 Secret Key 登录进行测试,所以我需要在 travis-ci 的 .travis.yml 文件中指定这两个密钥。那么我该怎么做呢?以及如何在 Node 中获取这些环境参数?

喜欢这两个参数:https ://github.com/ikbear/nodejs-sdk/blob/feature/copy_and_move_file/test/rs.test.js#L22

我想像这样在 .travis.yml 中指定它们:

language: node_js
node_js:
  - 0.8
  - 0.6
  - 0.4
env:
  - QINIU_ACCESS_KEY = '2FRuiVGEsA511NS9pNd2uvuSB3k5ozXE_DHCH8Ov' QINIU_SECRET_KEY = 'CIRtcmymB3VeIfXebFvYxmMmH9u2oLKW6rffVvoK'

那么如何从我的这个测试文件中获取 QINIU_ACCESS_KEY 和 QINIU_SECRET_KEY 呢?https://github.com/ikbear/nodejs-sdk/blob/feature/copy_and_move_file/test/rs.test.js

4

2 回答 2

13

更新:Travis 现在支持通过其 Web 用户界面直接在构建存储库中定义变量。因此,除非您需要为.travis.yml文件手动生成本地加密变量(根据下面的原始答案),否则这似乎是让环境变量与 Travis CI 一起使用的最简单方法。


我不确定关于 Node.js 的细节,但如果你想在你的.travis.ymlQINIU_ACCESS_KEY中使用和而不是纯文本,让它们成为安全的环境变量QINIU_SECRET_KEY

第 0 步:安装 travis gem(如果您还没有安装 Rubygemstravis ;不确定是否有另一种方法来获取命令或另一种方法来执行下面的第 1 步):

$ gem install travis

第 1 步:加密值,记下结果:

$ travis encrypt QINIU_ACCESS_KEY=2FRuiVGEsA511NS9pNd2uvuSB3k5ozXE_DHCH8Ov
$ travis encrypt QINIU_SECRET_KEY=CIRtcmymB3VeIfXebFvYxmMmH9u2oLKW6rffVvoK

第 2 步:将值添加到您的.travis.yml文件中:

env:
  global: 
    - secure: {{ENCRYPTED_QINIU_ACCESS_KEY}}
    - secure: {{ENCRYPTED_QINIU_SECRET_KEY}}

(多个键调用secure没问题)

下次您的应用程序通过 Travis 时,您应该会在 Config 行看到:

环境:QINIU_ACCESS_KEY=[安全] QINIU_SECRET_KEY=[安全]

更多可能有帮助的 StackOverflow 问答(它在 Ruby on Rails 上下文中,但他们处理这个问题)在这里:

于 2013-01-23T03:51:21.550 回答
0

在这里阅读(在 Travis-CI 中使用环境变量!)--> https://github.com/dwyl/learn-environment-variables#using-environment-variables-with-travis-ci-

另外,要了解有关 Travis 的更多信息,请阅读此处(学习 Travis)--> https://github.com/dwyl/learn-travis

于 2016-05-02T18:57:46.167 回答