我使用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
答案 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_KEY
和QINIU_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