2016-08-17 4 views
2

私はdocker runにTravis Web UIで設定したすべての環境変数を渡したいと思います。デフォルトのシステムを除く、すべてのTravis CI環境変数を取得する方法は?

env > .envをファイルに保存してから、--env-file .env経由でドッカーに渡すことができます。

これは、コンテナに干渉するPATHなどのシステムも無効にします。

env | grep -vE "^(PATH=)" > .envを使用してPATHを除外することができますが、トラビスのものを取得する方法があるかどうか疑問に思っていますか?ここで

は私の.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!" 

答えて

0

私はすべてご使用の環境のVARSを渡すことはお勧めしませんが、あなたが何かのように、たとえば、TRAVIS_でそれらを付けることによって、それらをホワイトリストならば、あなたが何かを行うことができますlike:

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 
関連する問題