如何获得所有的Travis CI环境variables,不包括默认的系统variables?
我想通过docker run
我在Travis Web UI中configuration的所有环境variables。
我可以运行env > .env
把它们保存到一个文件中,然后通过--env-file .env
把它传递给--env-file .env
。
不幸的是,这也覆盖了干扰容器的系统问题,如PATH
。
我可以使用env | grep -vE "^(PATH=)" > .env
过滤掉PATH
env | grep -vE "^(PATH=)" > .env
但我想知道是否有办法只得到特拉维斯的?
这是我的.travis.yml:
language: bash sudo: required services: - docker before_install: - env | grep -vE "^(PATH=)" > .env install: - docker build -t mycompany/myapp . script: - docker run -i --env-file .env mycompany/myapp nosetests after_success: - echo "SUCCESS!"
我不build议通过所有的环境variables,但是如果您将它们添加到类似TRAVIS_
类似项目中,您可以执行如下操作:
export TRAVIS_WUT=foo export TRAVIS_FOO=asdf docker run $(printenv | grep -E '^TRAVIS_' | sed 's/TRAVIS_/-e /g') # would run -> docker run -e FOO=asdf -e WUT=foo something