Heroku - 不需要构建即可进行 Git 推送

10

我使用“git push heroku master”进行部署,但是我使用了两个构建包,需要几分钟来构建一切。我的应用程序仍在QA阶段。

所以我的问题是:有没有办法在不经历所有这个构建过程的情况下更新远程文件?

比如说我修改了

<span class="bla"> 
<span class="foo">

我知道它不需要建任何东西,但我被迫再次建造它。


“我希望我可以在本地测试所有东西,但有时你就是做不到” - 为什么不能呢?在大多数情况下,解决这个问题的方法是建立一个适当的本地测试环境。(例外情况是测试与控制Heroku部署过程相关的事物。) - Marnen Laibow-Koser
1
@MarnenLaibow-Koser 你说得对,最好的方法是在本地测试所有内容,只有在完成后才推送。我已从问题中删除了这部分内容。 - carlosvini
我在ServerFault上重新发布了一个类似的问题:https://serverfault.com/questions/966525/node-js-remote-development-environment-similar-heroku-review-apps - Andreas Richter
我也遇到了同样的问题。 - mrtechmaker
@MarnenLaibow-Koser 我无法在本地进行测试,因为我正在编写 AmpScript,它没有本地环境。 - garek007
1个回答

6
看起来 Heroku 的构建编译器 slug 直接与 Git 相关联。当您推送时,远程 Git 钩子 运行以触发重建。(它会在“等待”期间执行此操作,这就是为什么您可以按 Ctrl-C 取消构建 - 和推送)。有趣的是,这位 先生遇到了相反的问题 - 他想重新构建而不推送任何更改。您可以使用空提交来实现这一点。新提交的到来将触发构建钩子。无论如何,您无法禁用 Git 远程的钩子;这是 Git 设计的一部分。因此,如果您必须使用 Git 进行发布,则对您的问题的答案是“不行,所以请在附近准备一台咖啡机或网络漫画。”;-)
请注意,这意味着您可以选择不使用Git。我对它完全不熟悉,但是您可以考虑使用Heroku的 Anvil作为发布而不使用Git的一种方式。也许这正是您要寻找的东西。如果您有什么想法,请告诉我!(编辑:Anvil已被弃用;显然 Convox是替代品?看起来很昂贵。)

我早有预料。但我希望有一种方法,比如运行heroku run bash,然后运行git pull或其他什么方式...我一直保留这个问题,不想问,但使用2个buildpacks构建比我以前的普通构建时间更长。无论如何,还是谢谢。 - carlosvini
Anvil提出了一个有趣的建议。我不知道它的存在。我无法想象在实践中会需要它,但人们永远不知道。 - Marnen Laibow-Koser

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接