最近幫 hackfoldr-2.0 加上 Gulp 和使用 Travis-CI 做自動部署,不小心踩了 gulp-campass 在 Travis-CI 上的雷,只好以此篇紀錄一下。
由於 hackfoldr-2.0 是使用 sass 來編寫,因此需要 gulp-campass 這個 gulp plugin 來做處理,在使用 gulp-campass 前,需要先安裝 campass。
原先的 .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 就可以了:
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.3
、 compass 1.0.0.alpha.19
是因為要 build sourcemap,如果無此需求使用 sass 3.2.19
、 compass 0.12.6
即可。
下回來談談如何在 Travis-CI 上自動部署好了 (欠了許多文章債)