I use travis-ci to test my node.js application. Because the application need users login with Access Key and Secret Key to test, I need to specify these two keys in travis-ci's .travis.yml file. So How can i do this? And how to get these environment parameters in Node?
Like these two parameters: https://github.com/ikbear/nodejs-sdk/blob/feature/copy_and_move_file/test/rs.test.js#L22
I want to specify them in .travis.yml like this:
language: node_js
node_js:
- 0.8
- 0.6
- 0.4
env:
- QINIU_ACCESS_KEY = '2FRuiVGEsA511NS9pNd2uvuSB3k5ozXE_DHCH8Ov' QINIU_SECRET_KEY = 'CIRtcmymB3VeIfXebFvYxmMmH9u2oLKW6rffVvoK'
So how can i get QINIU_ACCESS_KEY and QINIU_SECRET_KEY from my this test file? https://github.com/ikbear/nodejs-sdk/blob/feature/copy_and_move_file/test/rs.test.js
I'm not sure of specifics regarding Node.js, but if you want to use QINIU_ACCESS_KEY and QINIU_SECRET_KEY in your .travis.yml without them being plain text, make them secure environment variables:
Step 0: Install the travis gem (Install Rubygems if you haven't got it already; not sure if there's another way to get the travis command or another way to perform Step 1 below):
$ gem install travis
Step 1: Encrypt the values, taking note of the result:
$ travis encrypt QINIU_ACCESS_KEY=2FRuiVGEsA511NS9pNd2uvuSB3k5ozXE_DHCH8Ov
$ travis encrypt QINIU_SECRET_KEY=CIRtcmymB3VeIfXebFvYxmMmH9u2oLKW6rffVvoK
Step 2: Add the values to your .travis.yml file:
env:
global:
- secure: {{ENCRYPTED_QINIU_ACCESS_KEY}}
- secure: {{ENCRYPTED_QINIU_SECRET_KEY}}
(Multiple keys called secure are no problem)
Next time your app goes through Travis, you should see on the Config line:
Env: QINIU_ACCESS_KEY=[secure] QINIU_SECRET_KEY=[secure]
More StackOverflow Q&As that may be of assistance (it's in a Ruby on Rails context, but they deal with this issue) are here: