0

I m using wercker to automate deployment of nodejs application.

I thought digitallyseamless/nodejs-bower-grunt-runtime box with compass support will make the job.

But when grunt attempts to use compass it is going to error.

extract of my werker.yml

box: digitallyseamless/nodejs-bower-grunt-runtime:compass-support
build:
  steps:
    - wercker/npm-install
    - greatbeyond/bower-install@0.5.8
    - wercker/grunt:
      stack: true
      fail-on-warnings: true
      tasks: clean ngconstant:production build

extract of the grunt log concerning compass

 Running "compass:dist" (compass) task
   Warning: Command failed: /bin/sh -c compass --version
   /bin/sh: 1: compass: not found
   Use --force to continue.
   Error: Command failed: /bin/sh -c compass --version
   /bin/sh: 1: compass: not found

Seems I m missing a step.

How to make compass work in the box?

mickro
  • 881
  • 2
  • 11
  • 26

1 Answers1

1

I tried downloading the docker container (digitallyseamless/nodejs-bower-grunt-runtime:compass-support), when inspecting the content of the container I was not able to find compass on that container.

It turns out the Dockerfile for that container uses the ONBUILD directive when installing compass: https://docs.docker.com/engine/reference/builder/#onbuild

So it will only install compass when creating a new Docker container from this base image (though it also expects the entire application to be present already).

You could create a PR to remove the ONBUILD directive from the apt-get ... commands, thus making compass part of this container.

Benno
  • 36
  • 1