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
travis. yml is a configuration file, which provides instructions to the testing and building software on how to run tests and build any files required by the project. This file is part of the repository's git repository.
Update: Travis now supports defining variables directly in build respositories via their web user interface. So, unless you have a need to generate local encrypted variables manually for your .travis.yml file (as per original answer below), this seems like the easiest way to get an environment variable working with Travis CI.
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:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With