Fixed #10062: Added Support for Heroku Deployments #10063
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR adds support for Heroku one-click deployments directly from the GitHub Readme page of the application. This also unlocks the ability for developers to test changes inside of Heroku using automatic deploys of their own fork, allowing for faster iteration of a production like containerized environment. This PR only focuses on the core functionality of the application deployment and has not been fully tested to ensure point-for-point compatibility with all functionality of a standard installation of Snipe-IT.
This PR does make use of a number of Heroku add-ons, all with Free tiers to help offload some of the background processes:
The defaults for each of these add-ons are set to use the Free tier available. Upgrades may be necessary to enable functionality available for making the application production-ready. My intention would be to include a guide of this in the documentation once this PR is accepted.
I've similarly added in support for JawsDB MySQL + Maria DB Hosting as well for users that may wish to use that provider.
The files added at the root of the repo are app.json (a file describing all of the environment variables, add-ons, and other various application settings that are needed to get everything going), a Procfile (the command run to start and run the container), and the heroku/startup.php file (used to populate/parse out some environment variables that are necessary to run the application).
Type of change
How Has This Been Tested?
The Deploy to Heroku button located on my develop branch's README.md prompts the user for the most common environment variables and stands up a working copy of Snipe-IT once those variables are filled in.
Test Configuration:
Checklist: