2016-07-22 84 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

相关问题