如何使用travis-ci的.travis.yml为Node.js应用程序提供环境参数?

时间:2013-01-23 02:52:00

标签: node.js environment-variables travis-ci

我使用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

2 个答案:

答案 0 :(得分:13)

更新:Travis现在通过其网络用户界面支持defining variables directly in build respositories。因此,除非您需要generate local encrypted variables manually for your .travis.yml file(根据下面的原始答案),这似乎是使用Travis CI获取环境变量的最简单方法。


我不确定Node.js的具体细节,但是如果你想在 .travis.yml 中使用QINIU_ACCESS_KEYQINIU_SECRET_KEY而不是纯文本,让他们secure environment variables

步骤0:安装travis gem(Install Rubygems如果你还没有;不确定是否有其他方法可以获得travis命令或其他方式来执行下面的步骤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 Q&可能有帮助(它在Ruby on Rails上下文中,但它们处理这个问题)在这里:

答案 1 :(得分:0)

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

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