1
我在我的Rails應用程序中使用secrets.yml
的生產環境中的環境變量。我使用api密鑰和密碼發送http post請求。我可以通過使用密碼在測試環境中傳遞我的本地測試。但是我的密碼無法公開,所以我怎樣才能通過github上的travis ci測試?失敗的Travis CI在軌道中使用密鑰時測試
我在我的Rails應用程序中使用secrets.yml
的生產環境中的環境變量。我使用api密鑰和密碼發送http post請求。我可以通過使用密碼在測試環境中傳遞我的本地測試。但是我的密碼無法公開,所以我怎樣才能通過github上的travis ci測試?失敗的Travis CI在軌道中使用密鑰時測試
您可以加密您的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
也許[Travis文檔](https://docs.travis-ci.com/user/environment-variables/)會有所幫助。 – Aleksey
我認爲你不應該在你的測試中向外部服務器發出請求。只需在測試中存根電話即可。 – spickermann
如何在我的測試中存根電話,以便在生產中我可以提出請求? –