git - 从子文件夹自动部署 heroku

标签 git heroku github deployment web-deployment

我知道你可以从 github 自动部署到 heroku,但我还没有找到一种方法来只将一个子文件夹从 github 推送到 heroku。

从命令行我知道可以用:

git subtree push --prefix <subfolder> heroku master

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

最佳答案

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

在 Heroku 仪表板中:

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

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

如果找不到存储库:要么是您的 github 没有授权 Heroku,要么是您没有创建这个存储库,需要确保您有管理员权限。如果这不可能,请转到 Heroku Dashboard 中的“访问”选项卡并将管理员添加为协作者,以邀请 repo 的管理员访问您的 heroku 应用程序。管理员然后登录到 heroku 并在此处完成第 1 步。之后您可以完成以下步骤。

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

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

示例: 假设您的存储库名称是 MyRepo,它有 2 个子文件夹。 back-end 包含一个 Node.js 服务器,front-end 包含一个 React 应用程序。您的 github 目录如下所示:

MyRepo/前端/package.json MyRepo/后端/package.json

然后您应该将配置变量设置为左侧框中的 PROJECT_PATH 和右侧框中的 back-end

步骤 3) - 设置将部署 PROJECT_PATH 文件夹的 Heroku Buildpack

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

输入此 url 以添加构建包 https://github.com/timanovsky/subdir-heroku-buildpack.git确保它位于 buildpack 链的顶部(拖动左侧的线条使其位于您添加的任何其他 buildpack 之上。

步骤 4) - 启用自动部署

在 Deploy 选项卡中,滚动到 Automatic Deploys 并单击黑色按钮以启用自动部署

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

关于git - 从子文件夹自动部署 heroku,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39197334/

相关文章:

git - 如何在 Github Desktop 中运行 stash?

SVN 商店中的 Git 用户,组织我们的 repo

python - Heroku 上的夹层

github - 为 GitHub 中的默认分支设置默认名称

git - 如何镜像托管在 github 上的启动板上的项目?

git - 如何防止 git 使用全局配置?

git - 从 merge 分支中删除提交

node.js - PG/Node.js 的 Heroku h12 超时错误

ruby-on-rails-3 - Rails 3:Heroku 中未初始化的常量 IRB::ReadlineInputMethod::Readline (NameError)

git - 将 Github 存储库链接到 Bamboo 时遇到问题