是否有脚本或绕过Heroku Toolbelt登录提示的制裁方式?我遇到了一些声称提供解决方案(期望,环境变量,在.netrc中插入环境变量等)的黑客,但我真的很想找到一个稳定的解决方案。CI环境中的脚本“heroku登录”
回答
从我在文档中看到的,有三种方法可以解决这个问题。
第一个是authenticate via Login&Password(bleh)。知道了输入格式 - 在其他登录在一行,密码 - 我们可以cat
或echo
数据:
通过安全ENV瓦尔:
(
echo "$HEROKU_CREDENTIALS_EMAIL" # or you can plaintext it, if you're feeling adventurous
echo "$HEROKU_CREDENTIALS_PASSWORD"
) | heroku login
突出的重要组成部分(变量名称和安全性)。
或通过一个加密的文件:
准备在回购根命名.heroku_cred
文件:
[email protected]
IAmPdohertyAndThisIsMyPasswordIWorkHereWithMyOldMan
然后对它进行加密:
travis encrypt-file .heroku_cred
这会给你两件事情:一个名为.heroku_cred.enc
的文件在repo根目录下,并且会解密Travis上的文件。 git add
加密文件(注意而不是意外抓取未加密的文件!)并将命令添加到before_install
。然后,到了那里你想要的Heroku认证的地方添加:
cat .heroku_cred | heroku login
现在,这种方法吮吸两方面的原因:第一,你用你的文字密码,这是可怕的,因为如果你泄漏” 100%性交,如果你改变它,你的构建将开始虚假失败。
下一个方法是使用the HEROKU_API_KEY
env var,这可能会“干扰auth命令的正常运行”,但这并不重要,因为您无论如何都不以其他方式进行身份验证。
这样做不需要更改.travis.yml
,只有一个名为HEROKU_API_KEY
一个安全的环境变量包含来自
heroku auth:token
冉你的机器上(如果你很可能认证)的输出。
突出的重要组成部分(变量名和安全性)。
该方法结合了安全性(所使用的OAuth令牌,它可以被撤销)和简单的安装。
还有第三种方法:using ~/.netrc
,它将与整个生态系统进行合作,就像通过CLI使用用户名和密码进行身份验证一样(但您使用的是OAuth令牌,这更好)。
跟随在这一个步骤类似于1.2:
首先创建这样一个名为.heroku-netrc
一个文件,其中包含您的~/.netrc
负责的部分与Heroku的(details)认证:
machine api.heroku.com
login [email protected]
password c4cd94da15ea0544802c2cfd5ec4ead324327430
machine git.heroku.com
login [email protected]
password c4cd94da15ea0544802c2cfd5ec4ead324327430
然后,对其进行加密,运行:
travis encrypt .heroku-netrc
你会得到一个解密指令(将其添加到before_install
)和.heroku-netrc.enc
,您应该在git add
(注意不要添加未加密的.heroku-netrc
)。随后,将其添加到install
步:“谢谢”
cat .heroku-netrc >> $HOME/.netrc
- 1. 登录脚本本地工作,但不在现场环境
- 2. 使用我的登录环境的shell脚本
- 3. 用bash脚本登录到heroku的终端登录凭据?
- 4. Robolectric在CI环境
- 5. liquibase环境脚本
- 6. 设置的Heroku/Facebook的本地环境
- 7. Php登录脚本不会环绕php
- 8. 在Weblogic群集环境中登录-LINUX
- 9. 如何在Gitlab CI的构建脚本中设置(环境)变量?
- 10. heroku - npm postinstall脚本根据环境运行咕噜任务
- 11. 登录尝试的PHP登录脚本
- 12. 更改python脚本中的环境
- 13. Ruby独立脚本中的RoR环境
- 14. rvm环境中的Monit rails脚本
- 15. Bash Shell脚本无限循环登录脚本
- 16. 在CI环境中执行Bower,如Jenkins
- 17. PHP - 登录脚本
- 18. 此登录脚本
- 19. php登录脚本
- 20. PHP登录脚本?
- 21. Asp.net登录脚本
- 22. mysql_real_escape_string - 登录脚本
- 23. 登录脚本--Powerpoint
- 24. PHP,登录脚本
- 25. GreaseMonkey登录脚本
- 26. Python登录脚本
- 27. Php登录脚本
- 28. 登录Groovy脚本
- 29. 有什么方法绕过或脚本Heroku的登录提示?
- 30. 登录脚本没有登录
我刚拔掉这件事作参考,认为我应该采取第二个说,花时间把这样一个有用的,详细的答案放在一起。 – pdoherty926