設定メモ

  1. www.shippable.com にサインアップ
  2. プロジェクトを追加し、設定したいリポジトリを選択する
  3. shippable.ymlファイル追加

shippable.ymlファイル

language: ruby
rvm:
  - 2.2.3
cache: true
env:
  global:
    - CI_REPORTS=shippable/testresults COVERAGE_REPORTS=shippable/codecoverage
    - APP_NAME=sns-news
    - secure: xxxxx # プロジェクトの設定ページでHEROKU_API_KEY=xxxxの値を暗号化した値をここに設定する

before_install:
  - source ~/.rvm/scripts/rvm
  - rvm install $SHIPPABLE_RUBY --verify-downloads 1
  - source ~/.bashrc && ~/.rvm/scripts/rvm && rvm use $SHIPPABLE_RUBY
  - which heroku || wget -qO- https://toolbelt.heroku.com/install-ubuntu.sh | sh

install:
  - bundle install --gemfile="Gemfile"
  - ruby -v

before_script:
  - cp config/database.yml.sample config/database.yml
  - bundle exec rake db:create

script:
 - bundle exec rspec

after_success:
  - if [ "$BRANCH" == "master" ]; then test -f ~/.ssh/id_rsa.heroku || ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.heroku && heroku keys:add ~/.ssh/id_rsa.heroku; fi
  - if [ "$BRANCH" == "master" ]; then git remote -v | grep ^heroku || git remote add heroku git@heroku.com:$APP_NAME.git; fi
  - if [ "$BRANCH" == "master" ]; then git push -f heroku master; heroku run rake db:migrate; fi

注意点

基本的には参考記事の内容のままですが、下記の点を注意

  • $BRANCHを判定し、masterブランチの場合だけheroukのpushするようにしている
  • heroku git:remoteでherokuのリポジトリURLを追加すると何故か下記のエラーになった為、直接にgit remote addにしました
runtime: failed to create new OS thread (have 6 already; errno=11)
fatal error: newosproc

参考記事