【问题标题】:Deploy HTML only app to Heroku?将仅 HTML 的应用程序部署到 Heroku?
【发布时间】:2013-06-24 23:11:53
【问题描述】:

我可以使用 Heroku 来部署 HTML 原型吗?

我的 HTML 原型位于 Github 上,Heroku 将是部署它们的好方法,以便客户可以查看它们。

这似乎不受支持,因为 Heroku 需要 Rails/NodeJS/[在此处插入语言] 结构,否则它将无法运行。

Push rejected, no Cedar-supported app detected

有什么技巧可以规避吗?

【问题讨论】:

    标签: deployment heroku


    【解决方案1】:

    最好的解决方案是使用专为托管静态内容而设计的 buildpack。

    我建议使用实验性的 heroku/heroku-buildpack-static buildpack。简而言之,只需设置 buildpack:

    heroku buildpacks:set https://github.com/heroku/heroku-buildpack-static.git
    

    并添加一个static.json 指示哪个目录包含您的静态资产:

    {"root":"public"}
    

    【讨论】:

    • 这对我有用。我刚刚部署了一个静态站点,因为静态页面不是 Google Drive 或 DropBox 上的选项
    【解决方案2】:

    您始终可以使用 nginx buildpack 在 heroku 上运行 nginx:

    https://github.com/neilmiddleton/heroku-buildpack-nginx

    我已经成功地使用它来处理大量复杂的重定向,并为旧的、已失效的应用程序充当新 Heroku 应用程序的反向代理。这是一个简单的配置示例,它将启动并运行一个静态站点:https://gist.github.com/leklund/5877422

    【讨论】:

      【解决方案3】:

      最省力的解决方案是将默认文件重命名为 index.php 并重新部署。 Heroku 会将其检测为 PHP 站点并使用该 buildpack。

      或者,您可以按照本指南https://devcenter.heroku.com/articles/static-sites-ruby 设置一个 sinatra 应用程序来托管它。

      【讨论】:

      • 感谢您的想法。我使用 Jekyll,因此将我的主文件重命名为 .php 专门用于部署会破坏我的开发流程。这不会真的让它“自动”了,这或多或少是使用 Heroku 的重点。
      • 在这种情况下,使用 Jekyll buildpack :) github.com/mattmanning/heroku-buildpack-ruby-jekyll
      • 如果 Jekyll 是构建的唯一部分,这将是一个好主意。但是,我使用涉及多个部分的“复杂”构建系统(请参阅github.com/happyplan/happyplan - jekyll、指南针、图像压缩等),所以基本上我希望能够上传我的构建过程的编译“结果”而不是实际Jekyll 文件。我认为必须有一个解决方案,因为例如 Angular 应用程序也将是“只是 HTML”。
      • +1 表示将 index.html 更改为 index.php - 这是迄今为止实现将平面 HTML 站点部署到 Heroku 的既定目标的最简单方法。我刚做了,效果很好(尽管输出表明这可能已被弃用)。
      【解决方案4】:

      我之前没有做过,但因为你提到使用 github。为什么不使用 Github Pages 来展示原型。

      【讨论】:

      • 我需要 URL 不可猜测且私密。
      • 啊,很公平。我很抱歉。将其解释为您要显示投资组合。
      猜你喜欢
      • 2012-07-16
      • 2012-11-22
      • 2015-12-25
      • 2015-02-27
      • 2018-04-06
      • 2016-11-16
      • 2018-01-25
      相关资源
      最近更新 更多