【问题标题】:Should I use Heroku git for source control in addition to production code?除了生产代码之外,我还应该使用 Heroku git 进行源代码控制吗?
【发布时间】:2013-09-27 00:20:16
【问题描述】:

我使用 NodeJS、Angular 和 Express 创建了一个应用程序,我想在 Heroku 上运行它。现在,我使用 Grunt 构建放置在 dist 文件夹中的代码,并准备好在 Heroku 上部署和运行。这可以通过推送 Heroku git repo 中的 dist 文件夹来完成。

  1. 现在,我也应该在 Heroku git 中推送我的源代码吗?
  2. 如果是这样,我应该如何将它与 dist 文件夹存储库分开?例如,我不希望 Heroku 在每次将更改推送到远程仓库时都运行 npm install。而且 dist 文件夹不应该是存储库中源代码文件夹的一部分,因为它是自动生成的。

【问题讨论】:

    标签: heroku gruntjs


    【解决方案1】:

    使用 git 存储库是将更改推送到 heroku 的唯一方法。所以是的,这是强制性的。话虽如此,这就是they 不得不说的。

    Heroku 提供 git 服务主要用于部署,并且提供从中克隆的能力是为了方便。我们强烈建议您将代码存储在另一个 git 存储库(例如 GitHub)中,并将其视为规范。

    再一次,没有办法阻止他们在每次推送时执行 npm install。这是他们getting started指南的引述

    Heroku 通过 package.json 的存在将应用识别为 Node.js。即使您的应用没有依赖项,您仍然应该创建一个 package.json 来声明名称、版本和空依赖项,以便它显示为 Node 应用程序。

    但我想你可以在本地下载应用程序的所有依赖项,而不是在package.json 中指定,将其与应用程序的其余部分一起推送,你可能会欺骗 heroku 认为没有依赖项。不过自己没试过。

    如果您不希望 dist 文件夹成为推送的一部分,只需 gitignore 即可。

    【讨论】:

    • 谢谢!实际上,您回答中的第一段是我一直想知道的。
    猜你喜欢
    • 1970-01-01
    • 2011-12-21
    • 1970-01-01
    • 2013-08-16
    • 2018-05-01
    • 2022-01-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多