如何将闪亮的应用程序部署到 Heroku
Posted
技术标签:
【中文标题】如何将闪亮的应用程序部署到 Heroku【英文标题】:How can I deploy a shiny app to Heroku 【发布时间】:2016-11-16 19:20:16 【问题描述】:我有一个闪亮的应用程序,想将它部署到 Heroku。我尝试按照以下步骤操作: https://github.com/btubbs/heroku-buildpack-shiny
我创建了一个 git Git 存储库并将 R 文件放入其中。然后,我在 heroku 中创建了一个应用程序,并告诉 Heroku 为我的应用程序使用自定义 buildpack。但是,我无法启用 Heroku websockets 支持。 错误是: 找不到该功能。
我不知道如何处理这个问题。有没有其他方法可以将闪亮的应用程序部署到 Heroku?
【问题讨论】:
你有没有考虑过作者推荐的这个fork?:github.com/virtualstaticvoid/heroku-buildpack-r/tree/… 【参考方案1】:另一种方法是使用 Docker 进行部署。我不是专家,但我花了几天时间来使用这个解决方案部署一个应用程序。存在许多教程,可以帮助您实现这一目标。
【讨论】:
【参考方案2】:你见过https://github.com/virtualstaticvoid/heroku-docker-r吗?
也请查看example shiny app。要指定其他依赖项,您仍然可以使用init.R
。
要使用 Docker 进行部署,您可能需要将当前的 Heroku 应用程序移至容器堆栈。这可以通过 heroku stack:set CLI 命令来完成:
$ heroku stack:set container
【讨论】:
【参考方案3】:Here 是一个最小的例子。基本上:
-
使用以下内容创建
run.R
文件
library(shiny)
port <- Sys.getenv('PORT')
shiny::runApp(
appDir = getwd(),
host = '0.0.0.0',
port = as.numeric(port)
)
提交到 git
使用
创建一个新的heroku应用heroku create --buildpack https://github.com/virtualstaticvoid/heroku-buildpack-r.git
git push heroku master
仅此而已。
【讨论】:
以上是关于如何将闪亮的应用程序部署到 Heroku的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Rails + Webpacker 应用程序部署到 Heroku?
如何将带有 Mongodb 的 Next.js 应用程序部署到 Heroku?
如何将 node.js 应用程序部署到 heroku?有没有可能?