1
私のレールアプリケーションの生産環境には、secrets.yml
という環境変数が使用されています。私はapiのキーとパスワードでhttpの投稿要求を送信しています。私はパスワードを使ってテスト環境で私のローカルテストをパスすることができます。しかし私のパスワードは公開されないので、どうやってgithubでtravis ciテストに合格するのですか?秘密鍵をレールに使用するとTravis CIテストが失敗する
私のレールアプリケーションの生産環境には、secrets.yml
という環境変数が使用されています。私はapiのキーとパスワードでhttpの投稿要求を送信しています。私はパスワードを使ってテスト環境で私のローカルテストをパスすることができます。しかし私のパスワードは公開されないので、どうやってgithubでtravis ciテストに合格するのですか?秘密鍵をレールに使用するとTravis CIテストが失敗する
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
[Travis docs](https://docs.travis-ci.com/user/environment-variables/)が役立つかもしれません。 – Aleksey
とにかく、あなたはあなたのテストで外部サーバーへのリクエストを行うべきではないと主張します。テストで呼び出しをスタブするだけです。 – spickermann
プロダクションでリクエストを行うことができるように、テストでコールをスタブするにはどうすればよいですか? –