最近幫 hackfoldr-2.0 加上 Gulp 和使用 Travis-CI 做自動部署,不小心踩了 gulp-campass 在 Travis-CI 上的雷,只好以此篇紀錄一下。

由於 hackfoldr-2.0 是使用 sass 來編寫,因此需要 gulp-campass 這個 gulp plugin 來做處理,在使用 gulp-campass 前,需要先安裝 campass

原先的 .travis.yml 邊寫如下:

.travis.yml
language: node_js

node_js:
  - '0.10'

before_install:
  - gem update --system
  - gem install sass --version "3.3.3"
  - gem install compass --version "1.0.0.alpha.19"

script:
  - gulp build

env:
  global:
    - REPO="git@github.com:hackfoldr/hackfoldr-2.0"

但是如果只做此設置 gulp build 時會一直報出錯誤

LoadError on line ["54"] of /home/travis/.rvm/rubies/ruby-1.9.3-p547/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb: cannot load such file -- tilt

原因是因為缺少安裝 tilt 這個 ruby package,所以只要在加上 tilt 就可以了:

.travis.yml
language: node_js

node_js:
  - '0.10'

before_install:
  - gem update --system
  - gem install sass --version "3.3.3"
  - gem install compass --version "1.0.0.alpha.19"
  - gem install tilt  --version "1.3.0"

script:
  - gulp build

env:
  global:
    - REPO="git@github.com:hackfoldr/hackfoldr-2.0"

後記

會使用 sass 3.3.3compass 1.0.0.alpha.19 是因為要 build sourcemap,如果無此需求使用 sass 3.2.19compass 0.12.6 即可。

下回來談談如何在 Travis-CI 上自動部署好了 (欠了許多文章債)