I know you can deploy automatically to heroku from github, but I haven't found a way to only push a subfolder from github to heroku.
From the command-line I know it is possible to do this with:
git subtree push --prefix <subfolder> heroku master
However, I would like to know if there is a way to use the github integration with heroku to make it pull a specific subfolder automatically when a commit is added to a branch.
To deploy your app to Heroku, use the git push command to push the code from your local repository's main branch to your heroku remote. For example: $ git push heroku main Initializing repository, done.
“Any development team, whether they are in a startup or large enterprise can now deploy starter templates and apps with the Heroku Button for Private Repos in a single click."
2018 Update! To enable automated deployments with heroku, you need to have admin access for the github repo you want to deploy.
Inside the Deploy tab, scroll to Deployment method and connect your Github account. find the repo and hit connect. heroku should be authorized as an Oauth app in your github now.
If you cannot find the repo: Either your github has not authorized Heroku or you did not create this repo and need to make sure you have admin access to it. If this is not possible, invite an admin of the repo to your heroku app by going to Access tab in Heroku Dashboard and adding the admin as a collaborator. The admin then logs into heroku and completes Step 1 here. Afterwards you can finish the following steps.
Inside the Settings tab, set a config var to tell Heroku the path to find the server code you want deployed.
Example: lets say your repo name is MyRepo and it has 2 sub-folders. back-end
contains a Node.js server and front-end
contains a React app. Your github directory looks like this:
MyRepo/front-end/package.json MyRepo/back-end/package.json
Then you should set your config var to PROJECT_PATH
in the left box and back-end
in the right box.
Again inside the Settings tab, you need to add a Buildpack that will tell heroku to look for your folder instead of deploying the repo root. There should already be 1 buildpack there to tell heroku what type of server it is (javascript/node.js, python/django, etc...).
Enter this url to add buildpack https://github.com/timanovsky/subdir-heroku-buildpack.git and make sure this is at the top of the buildpack chain (drag the lines on the left to make it above any other buildpacks you have added.
Inside the Deploy tab, scroll to Automatic Deploys and click the black button to enable automatic deploys
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With