私が探しているのは、自分のtravis.ymlがどのブランチがビルドされているかに基づいて、適切に指定された環境変数を使用するように設定することです。私はトラヴィス$ DEV_ARTIFACTS_KEYに保存されている場合トラビス:他の環境を使って環境変数を構築できますか?
私は、の線に沿って考えている/ $ TEST_ARTIFACTS_KEYなど
その後$ TRAVIS_BRANCHは= DEV
私は、何かをすることができますので、私は、DEVブランチにプッシュします以下のような:ARTIFACTS_KEY = $ {$のTRAVIS_BRANCH} _ARTIFACTS_KEY と、それは次のようになります。ARTIFACTS_KEY = $ DEV_ARTIFACTS_KEY
明らかに{}で上記の構文が動作しない、または私はここではないでしょう!理論的にはこの方法が可能かどうか、もしあれば、どうなるのだろうか?
編集:私は、私は上記のように3つの変数を設定したいんだ
やろうとしているかについて、さらに詳細については。
env:
- ARTIFACTS_KEY=$DEV_ARTIFACTS_KEY ARTIFACTS_SECRET=$DEV_ARTIFACTS_SECRET ARTIFACTS_BUCKET=$DEV_ARTIFACTS_BUCKET
:私はそれはのような分岐変数を使用せずに作業している
ARTIFACTS_KEY、 {BRANCH} _ARTIFACTS_KEY、{BRANCH} _ARTIFACTS_SECRET、{BRANCH} _ARTIFACTS_BUCKET
からその場で作成ARTIFACTS_SECRET & ARTIFACTS_BUCKET $ DEV_ARTIFACTS_KEYなどはTravisで定義されています。しかし、私はこれまで、DEV部分をその場でブランチ名に置き換えることに失敗しました。
oohこれは、まだまだかなり機能していますが、より近いです。 TRAVIS_BRANCHを正しく評価していますが、結果の値を別の環境変数ではなく文字列として扱うように見えます。したがって、ARTIFACTS_KEY以外にも、私の実際のバケット名ではなく、 "バケット:$ DEV_ARTIFACTS_BUCKET"というロギングでARTIFACTS_BUCKET&を設定しようとしています。結果の値をenv varとして扱うことは可能ですか、それとも不可能にしようとしていますか? – MissGeek
このコードをbashで実行すると、* $ DEV_ARTIFACTS_BUCKETの値を 'ARTIFACTS_KEY'に割り当てる必要があります。私はトラビスでそれをテストしなかった。しかし、以前は言及していない何か他のことをしているようです( 'ARTIFACTS_BUCKET')、質問を更新してください。 – flyx
私が設定しようとしているすべての変数を含めるように質問が更新されました。 – MissGeek