我想在计划的heroku任务中调用heroku postgres备份/恢复命令,但在bash提示符下不能使用heroku工具带,所以我不能调用heroku命令:
$ heroku run bash --app myapp
Running `bash` attached to terminal... up, run.4805
~ $ heroku --version
bash: heroku: command not found如何让heroku命令在我预定的bash脚本中可用?我对Ruby和Ruby Gems一无所知。
发布于 2017-07-12 03:36:08
因为Heroku在构建包完成运行后锁定了文件系统,所以其他解决方案对我都不起作用。
有一个第三方构建包可以为您安装CLI。首先,将身份验证密钥设置为应用程序上的ENV变量:
heroku config:set HEROKU_API_KEY=`heroku auth:token` -a myapp然后添加构建包:
heroku buildpacks:add https://github.com/heroku/heroku-buildpack-cli -a myapp
重新部署您的应用程序,它应该能够通过CLI访问您的应用程序。如果你启用了https://devcenter.heroku.com/articles/dyno-metadata,你甚至可以通过$HEROKU_APP_NAME访问当前应用的名称。
发布于 2014-11-26 23:42:41
将以下内容放在计划的bash脚本的顶部:
# install heroku toolbelt
# inspired by https://toolbelt.heroku.com/install.sh
curl -s https://s3.amazonaws.com/assets.heroku.com/heroku-client/heroku-client.tgz | tar xz
mv heroku-client/* .
rmdir heroku-client
PATH="bin:$PATH"然后,例如,您可以调用:
heroku pg:reset HEROKU_POSTGRESQL_YELLOW_URL --app myapp-staging --confirm myapp-staging
heroku pgbackups:restore HEROKU_POSTGRESQL_YELLOW_URL `heroku pgbackups:url --app myapp-production` --app myapp-staging --confirm myapp-staging然后扑通一声!临时数据库是从生产数据库更新的。
发布于 2016-03-16 13:42:33
正如Heather Piwowar所说,你确实可以自己下载并解压heroku收费带,但之后就不需要移动文件了。下面是一个简短的版本:
curl -s https://s3.amazonaws.com/assets.heroku.com/heroku-client/heroku-client.tgz | tar xz
PATH="/app/heroku-client/bin:$PATH"现在,您可以随意使用heroku命令。
为了进行身份验证,您可能需要设置HEROKU_API_KEY环境变量(使用heroku config:set HEROKU_API_KEY=1234567890 -a your-app-name)。
此外,请注意,第一次使用heroku命令将运行比预期更长的时间,因为它将尝试安装最新版本、依赖项和核心插件。
https://stackoverflow.com/questions/27153235
复制相似问题