2016-07-22 86 views
1

我在我的Rails應用程序中使用secrets.yml的生產環境中的環境變量。我使用api密鑰和密碼發送http post請求。我可以通過使用密碼在測試環境中傳遞我的本地測試。但是我的密碼無法公開,所以我怎樣才能通過github上的travis ci測試?失敗的Travis CI在軌道中使用密鑰時測試

+0

也許[Travis文檔](https://docs.travis-ci.com/user/environment-variables/)會有所幫助。 – Aleksey

+1

我認爲你不應該在你的測試中向外部服務器發出請求。只需在測試中存根電話即可。 – spickermann

+0

如何在我的測試中存根電話,以便在生產中我可以提出請求? –

回答

1

您可以加密您的secrets.yml並將加密文件推送到存儲庫。

travis encrypt-file secrets.yml 

,這將給你secrets.yml.enc將它添加到庫中。請記住不要推secrets.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 

您可以直接添加上面的命令使用--add選項travis.yml:

travis encrypt-file secrets.yml --add 

請參閱本文檔的詳細信息 - Encrypting Files in Travis

相關問題