2017-10-06 6 views
0

私はDocker設定タスクを持っているので、Bamboo変数を使用するbashスクリプトをdockerコンテナで実行する必要があります。dockerコンテナに多くのbamboo変数を渡すには?

すべてのBamboo変数をドッカーコンテナに渡す方法はありますか?

私はたくさんの異なる変数を持つBambooプランがたくさんあるので、コンテナ環境変数にすべての変数を入れることはオプションではありません。

もちろん、私はそれらを1つのタスクでファイルにダンプし、dockerタスクでファイルから変数を解析することができますが、私はより簡単な解決策を見つけることを望んでいました。

ありがとうございます!

+0

を追加し、それを受け入れてください。将来の訪問者はそれを認識することができます。 – lifeisfoo

答えて

0

あなたはenv_file option using composeを使用することができます。

web: 
    env_file: 
    - your-variables.env 

またはdocker run --env-file=your-variables.env ...を使用しています。あなたが竹の

0

どのバージョンを使用している:

のenvファイルには、簡単なキー値のテキストファイルですか?

竹の変数に問題が竹のいくつかのバージョンでドッキングウィンドウコンテナですが、竹6.1.0で修正されましたがあります。

Unable to use variables in Container name field in Run docker task

回避策:

  • 作成スクリプトDockerタスクの前に実行されるタスク。ファイル名を指定して実行

    echo "export sourcepath=$ini_source_path" > scriptname.sh 
    chmod +x scriptname.sh 
    

などのコマンド

  • ドッカータスクは、ドッカー\データボリュームに$ {bamboo.working.directoryを}マッピングされます。

    したがって、作成したscriptname.shスクリプトはDockerコンテナで使用できます。スクリプトが実行され、変数が正しく設定されます。この記事で

    さらに詳しい情報: How to send bamboo variables from Bamboo script to docker container?

  • 0

    私は唯一の方法は、あなたがすでに言及するものだと思う - 以前の流れで、専用のタスク内のファイルへのenv変数をダンプします。あなたはそうそうする:

    #!/bin/bash 
    env | grep ^bamboo_ > my_env_file 
    

    PATHなどのダンプ変数を厳密に正規表現することに注意してください。私の答えはあなたの問題を解決するかどうか

    は、次にドッキングウィンドウのタスクで、「追加の引数」に以下の

    --env-file=my_env_file 
    
    関連する問題