Travis env变量返回空

时间:2014-03-11 23:31:44

标签: node.js gruntjs karma-runner travis-ci

我想使用environment variables / matrix在两个不同版本中测试我的回购。

我有一个包含2个任务的gruntfile,我想像这样制作一个BUILD env变量:

  - grunt --verbose $BUILD:travis 

其中$BUILD可能是nocompatdefault 我做错了什么?

我的.travis.yml文件:

language: node_js

node_js:
- 0.11

env:
  - BUILD='nocompat'
  - BUILD='default'

before_script:
    - npm install grunt-cli -g
    - curl https://gist.github.com/santiycr/5139565/raw/sauce_connect_setup.sh | bash

script:
  - grunt --verbose $BUILD:travis

1 个答案:

答案 0 :(得分:1)

根据irc对话,.travis.yml中存在与此相冲突的额外设置。

例如,给定.travis.yml看起来像这样:

language: node_js

node_js:
- 0.11

env:
  matrix:
    - BUILD='nocompat'
    - BUILD='default'

env:
  global:
    - SAUCE_USERNAME=....
    - SAUCE_ACCESS_KEY=....

before_script:
    - npm install grunt-cli -g
    - curl https://gist.github.com/santiycr/5139565/raw/sauce_connect_setup.sh | bash

script:
  - grunt --verbose $BUILD:travis

你真的需要:

language: node_js

node_js:
- 0.11

env:
  matrix:
    - BUILD='nocompat'
    - BUILD='default'

  global:
    - SAUCE_USERNAME=....
    - SAUCE_ACCESS_KEY=....

before_script:
    - npm install grunt-cli -g
    - curl https://gist.github.com/santiycr/5139565/raw/sauce_connect_setup.sh | bash

script:
  - grunt --verbose $BUILD:travis

如果您认为YAML是JS,那么您之前所做的就是:

config = {};
config.env = {'matrix': ...};
config.env = {'global': ...};

global设置隐藏了matrix设置。