我知道您可以自动从github部署到heroku,但是我还没有找到一种仅将子文件夹从github推送到heroku的方法。

在命令行中,我知道可以使用以下方法执行此操作:

git subtree push --prefix <subfolder> heroku master

但是,我想知道是否有一种方法可以将github集成与heroku结合使用,以在将提交添加到分支时自动拉特定的子文件夹。

最佳答案

2018更新! 要使用heroku启用自动部署,您需要对要部署的github存储库具有管理员访问权限。

在Heroku仪表板中:

步骤1)-将github存储库连接到Heroku

在“部署”选项卡中,滚动到“部署方法”并连接您的Github帐户。找到仓库并点击连接。现在应该在您的github中将heroku授权为Oauth应用。

如果找不到存储库:您的github未授权Heroku或您未创建此存储库,需要确保您具有对该存储库的管理员访问权限。如果无法做到这一点,请通过访问Heroku信息中心中的“访问”选项卡并将管理员添加为协作者来邀请回购的管理员加入您的heroku应用。然后,管理员登录到heroku并在此处完成步骤1。之后,您可以完成以下步骤。

步骤2)-将Heroku Config Var PROJECT_PATH设置到您的服务器文件夹

在“设置”选项卡中,设置一个配置变量,以告知Heroku查找要部署的服务器代码的路径。

示例:可以说您的仓库名称是MyRepo,它有2个子文件夹。 back-end包含一个Node.js服务器,而front-end包含一个React应用。您的github目录如下所示:
MyRepo/front-end/package.jsonMyRepo/back-end/package.json
然后,应在左侧框中将config var设置为PROJECT_PATH,在右侧框中将back-end设置为。

步骤3)-设置一个Heroku Buildpack,它将部署PROJECT_PATH文件夹

再次在“设置”选项卡中,您需要添加一个Buildpack,它将告诉heroku查找您的文件夹,而不是部署回购根目录。那里应该已经有1个buildpack来告诉heroku它是什么类型的服务器(javascript / node.js,python / django等)。

输入此URL以添加buildpack https://github.com/timanovsky/subdir-heroku-buildpack.git,确保它在Buildpack链的顶部(拖动左侧的行使其位于您添加的任何其他buildpack之上。

步骤4)-启用自动部署

在“部署”选项卡中,滚动到“自动部署”,然后单击黑色按钮以启用自动部署

自动部署完成!现在检查构建日志并确保您没有任何错误

09-04 01:22
查看更多