Travis CI使用相应的环境变量测试分支

时间:2014-01-13 19:10:36

标签: travis-ci

我有一个项目,我正在尝试使用Travis CI自动化测试。我有一个dev分支和一个测试分支,它们有不同的环境变量。例如,在dev分支上,我需要连接到不同于环境变量指定的测试分支的API。因此,当我在Travis上的dev分支上运行构建时,如何设置它以便它只使用dev环境变量集进行测试,同样用于在测试分支上构建?

2 个答案:

答案 0 :(得分:8)

现在没有很好的方法可以做到这一点,但是您可以编写一个shell脚本来检查Travis环境变量TRAVIS_BRANCH(返回Travis正在测试的分支)并设置相应的环境变量作为响应。这是一个简短的例子(请注意,我不是shell脚本的专家,所以如果我搞砸了或做了些傻事让我知道,我会解决它):

if [ ${TRAVIS_BRANCH} == development ]; then
    TEST_MODE=dev stuff
else
    TEST_MODE=master stuff
fi

export TEST_MODE

答案 1 :(得分:4)

Travis可以为每个分支设置不同的.travis.yml配置。 因此,修改分支.travis.yml上的test不会影响.travis.ymldevelop分支上的master

  • develop分支.travis.yml

    env:
      - DEVELOP_BRANCH_VARIABLE=FOO
    script:
      - ./run-develop-branch ${DEVELOP_BRANCH_VARIABLE}
    
  • test分支.travis.yml

    env:
      - TEST_BRANCH_VARIABLE=BOO
    script:
      - ./run-test-branch ${TEST_BRANCH_VARIABLE}