2015-11-16 3 views
11

でリポジトリの環境変数を使用します。トラヴィスCI - 私は私のトラヴィスCIリポジトリの設定で環境変数を宣言してアプリケーションをデプロイし、スラックにビルド通知を掲示するために私の.travis.ymlファイルでそれらを使用しているよ.travis.yml

そうように私は私のトラヴィスCIリポジトリの設定で環境変数を設定した

Travis CI repository environment variables

マイ.travis.ymlファイルには、次のように表示されます。

language: node_js 
node_js: 
    - '0.12' 
cache: 
    directories: 
    - node_modules 
deploy: 
    edge: true 
    provider: cloudfoundry 
    api: $CF_API 
    username: $CF_USERNAME 
    password: $CF_PASSWORD 
    organization: $CF_ORGANIZATION 
    space: $CF_SPACE 
notifications: 
    slack: $NOTIFICATIONS_SLACK 

私が追加値をそのまま.travis.ymlファイルに追加すると、すべてが計画どおりに動作します。私は、リポジトリで設定した環境変数を参照しようとすると、

はしかし、私は、ビルドステータスにはスラック通知を受信して​​いない、と展開が失敗します。

私はこのプロセスに正しく従っていますか、それとも私が監督しているものはありますか?

+0

あなたの.travis.ymlファイルに 'before_script:echo $ CF_USERNAME'を追加するとどうなりますか? env変数の内容はビルドログに出力されていますか? –

+0

これは間違いなく、環境変数を表示しています! –

+0

代わりに 'echo $ ENVIRONMENT_VARIABLE'を使うべきですか? –

答えて

5

あなたの環境変数を読み込むにはTravis CIのシーケンスが早すぎると思います。私は何を示唆している

はむしろtraviscommand-line toolを使用してそれらを暗号化することです。

など。

$ travis encrypt 
Reading from stdin, press Ctrl+D when done 
username 
Please add the following to your .travis.yml file: 

secure: "TD955qR6qvpVIz3fLkGeeUhV76deeVRaLVYjW9YjV6Ob7wd+vPtACZ..." 

Pro Tip: You can add it automatically by running with --add. 

その後、私はあなたの.travis.ymlファイル内の適切な場所でsecure: "TD955qR6qvpVIz3fLkGeeUhV76d..."結果をコピー/ペーストします:

language: node_js 
node_js: 
    - '0.12' 
cache: 
    directories: 
    - node_modules 
deploy: 
    edge: true 
    provider: cloudfoundry 
    api: 
    secure: "bHU4+ZDFeZcHpuE/WRpgMBcxr8l..." 
    username: 
    secure: "TD955qR6qvpVIz3fLkGeeUhV76d..." 

あなたがトラビスCI here上の機密データを暗号化する方法についての詳細を持つことができます。

これが役に立ちます。

+0

私も値を指定する必要がありますか? –

+0

リポジトリのディレクトリで 'travis encrypt' +' 'を実行し、値の後に' 'を入力する必要があります。これは 'secure:...'で始まる値を出力します。 –

関連する問題