April 21, 2015

using Compass during `grunt build` on Heroku with Strider CD

Long story short:

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.

gem-heroku-strider-env

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

gem-heroku-strider-scripts

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.