Div*_*eto 18 git deployment github heroku web-deployment
我知道你可以从github自动部署到heroku,但我还没有找到一种方法只将子文件夹从github推送到heroku.
从命令行我知道可以这样做:
git subtree push --prefix <subfolder> heroku master
Run Code Online (Sandbox Code Playgroud)
但是,我想知道是否有一种方法可以使用github与heroku集成,以便在将提交添加到分支时自动提取特定的子文件夹.
nox*_*xon 18
2018年更新! 要使用heroku启用自动部署,您需要具有要部署的github存储库的管理员访问权限.
在Deploy选项卡中,滚动到Deployment方法并连接您的Github帐户.找到回购并点击连接.heroku现在应该被授权为你的github中的Oauth应用程序.
如果你找不到回购:你的github没有授权Heroku,或者你没有创建这个回购,需要确保你有管理员权限.如果无法做到这一点,请通过转到Heroku Dashboard中的Access选项卡并将管理员添加为协作者,邀请repo的管理员访问您的heroku应用程序.管理员然后登录到heroku并在此完成第1步.之后,您可以完成以下步骤.
在Settings选项卡中,设置config var以告诉Heroku找到要部署的服务器代码的路径.
示例:假设您的回购名称是MyRepo,它有2个子文件夹.back-end包含一个Node.js服务器并front-end包含一个React应用程序.你的github目录如下所示:
MyRepo/front-end/package.json
MyRepo/back-end/package.json
然后,您应该将配置var设置PROJECT_PATH为左侧框和back-end右侧框.
再次在Settings选项卡中,您需要添加一个Buildpack,它将告诉heroku查找您的文件夹而不是部署repo root.应该已经有1个buildpack告诉heroku它是什么类型的服务器(javascript/node.js,python/django等...).
输入此URL以添加buildpack https://github.com/timanovsky/subdir-heroku-buildpack.git 并确保它位于buildpack链的顶部(拖动左侧的行以使其位于任何其他构建包之上)补充道.
在"部署"选项卡内,滚动到"自动部署",然后单击黑色按钮以启用自动部署
我能够让它工作。我有一个server包含 Python Flask 应用程序的子文件夹,我想使用 GitHub 集成自动部署它。
Heroku 使用 buildpacks 来检测项目的语言和框架。更多关于这里。
我在这里找到了我的 buildpack 的源代码。然后你只需要查看检测脚本。对于Python它检查的requirements.txt文件,所以我利用由符号链接ln -s server/requirements.txt requirements.txt。
我Procfile看起来是这样的:web: gunicorn --pythonpath server/api app:app。
现在一切正常!
为了从子文件夹进行自动部署,我所做的就是在 GitHub 中创建一个新分支并仅推送子文件夹,然后将 Heroku 设置为自动部署到该分支。
用于git subtree push --prefix <subfolder> origin <branch>将子文件夹推入该分支
| 归档时间: |
|
| 查看次数: |
2177 次 |
| 最近记录: |