Heroku Github部署策略

我正在一个网络应用程序,在Github上托管源代码,并在Heroku上运行该应用程序.一切工作正常,但我有问题,我不能包围我的头.在部署我的代码之前,我运行一些脚本来优化代码(缩小,连接文件等).英雄应用程序只使用优化版本的应用程序.

基本上,我有两个文件夹:开发和生产.开发包含我编写的源代码,生产由我的构建脚本(我使用grunt和requirejs)生成.目前,这两个文件夹都在我的Git存储库中,并且都被推送到Github和Heroku.我宁愿只是在Github上开发,只能在Heroku上生产.
我读了一些文章如何为Heroku设置不同的分支,如described in this blog.可以设置一个生产分支,只有在那里保存dev文件夹到我的主分支的生产文件夹?还是需要单独的存储库?

有人试过类似的东西吗?我会假设这不是普通的东西.

你可能只想考虑使用heroku .slugignore文件(参考https://devcenter.heroku.com/articles/slug-compiler).

该文件将允许您从英雄部署到每个服务器实例的包中删除dev文件夹,同时允许您将所有代码保存在同一个存储库中.

问题的根源在于考虑将部署策略作为上传最后一位到您的服务器的位置,其中的位是构建存储库的一个假象.在这种情况下,构建通常与源单独存储和归档.

Heroku的模式与此略有不同,因为它假定您的存储库是部署的人工制品.区别是轻微的,但在你的情况下,这只是意味着你需要提交到你的仓库你想要英雄服务的位.

另一种思考方式是,您可以在没有生产文件夹的情况下进行操作,作为启动服务器的一部分,将运行该脚本来生成生产文件夹文件.这将允许您删除生产文件夹,并保持您的存储库清洁,代价是在服务器的每个启动时运行此过程.这可能被证明是非常昂贵和不可取的(Heroku将等待服务器启动之前等待多长时间才能放弃),但希望有助于在Heroku和git关系中提供一些清晰度.

http://stackoverflow.com/questions/11175923/heroku-github-deployment-strategies

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:Heroku Github部署策略