April 21, 2015
using Compass during `grunt build` on Heroku with Strider CD
Long story short:
- my
grunt buildprocess requires the ruby gem Compass - StriderCD runs my build process on a Heroku dyno with a multi-stack buildpack that runs nodejs, PHP, Ruby, etc
- the Compass gem isn’t installed in the buildpack by default, and the dyno’s storage is ephemeral + mostly read-only, so the gem must install in a specific directory on every build
Environment plugin setup
First, I have to set the Gem install directory to path that can actually be written to by programs executed by Strider. I set the GEM_HOME environment variable to /tmp/gems using Strider’s environment plugin.
Custom Scripts plugin setup
Next, here’s the code to install and use compass used in the required phases of the build
Environment phase:
gem install compass
Prepare phase:
# add compass to the path
export PATH=$PATH:/tmp/gems/bin
optional lines for debugging:
# print the version number
compass -v
# show the compass binary's path
which compass
Note that export PATH=$PATH:/tmp/gems/bin is above grunt build. Reverse the order and you’ll notice the grunt task can’t find compass on your machine since it isn’t added to the PATH variable until after the build fails.

