Compile libraries on Heroku with Vesuvius
Posted by Geremia Taglialatela on 01 August 2017
It has been a long time since Vulcan has been deprecated. Now, gcc is no longer available at runtime on heroku-16 so Vesuvius comes in help.
Why Vesuvius?
Vulcan has been deprecated and GCC is only available at build time on heroku-16
stack.
Even with heroku run bash
, compiling stuff on Heroku was painful, time consuming, and you needed a third-party cloud storage to move your compiled library in order to download it.
With Vesuvius, this is no longer the case. During the deploy, Vesuvius will run all scripts located in /scripts/libraries
and will move output files to a public directory.
It comes with proj.4 and GEOS as examples.
Automatic Setup
Manual Setup
- Clone the repo at https://github.com/tagliala/vesuvius
- Create a new Heroku application
- Set your buildpack to Heroku’s default Ruby buildpack
- Append the buildpack-ruby-rake-deploy-tasks to your buildpack list
- Configure DEPLOY_TASK environment variable
Deploy and navigate to your application’s root path.
Example script
All you need to do is create a bash script to compile your library.
This is an example for the GEOS library: