2016-07-22 17 views
1

私のレールアプリケーションの生産環境には、secrets.ymlという環境変数が使用されています。私はapiのキーとパスワードでhttpの投稿要求を送信しています。私はパスワードを使ってテスト環境で私のローカルテストをパスすることができます。しかし私のパスワードは公開されないので、どうやってgithubでtravis ciテストに合格するのですか?秘密鍵をレールに使用するとTravis CIテストが失敗する

+0

[Travis docs](https://docs.travis-ci.com/user/environment-variables/)が役立つかもしれません。 – Aleksey

+1

とにかく、あなたはあなたのテストで外部サーバーへのリクエストを行うべきではないと主張します。テストで呼び出しをスタブするだけです。 – spickermann

+0

プロダクションでリクエストを行うことができるように、テストでコールをスタブするにはどうすればよいですか? –

答えて

1

secrets.ymlを暗号化し、暗号化されたファイルをリポジトリにプッシュできます。

secrets.yml.encをリポジトリに追加します。プッシュすることを忘れないでくださいsecrets.yml

あなたが直接--addオプションを使用してtravis.ymlするコマンドの上に追加することができbefore_script

before_script: openssl aes-256-cbc -K $encrypted_0a6446eb3ae3_key -iv $encrypted_0a6446eb3ae3_key -in secrets.yml.enc -out secrets.yml -d 

でそのファイルを復号化する必要があります。

travis encrypt-file secrets.yml --add 

は、詳細については、このドキュメントを参照してください - Encrypting Files in Travis

関連する問題