Jenkins + Github + Ruby on Rails (RSpec, Cucumber) によるCI環境構築 (Ubuntu 12.04 server)

■Jenkins インストール

$ sudo apt-get install jenkins

Ruby関連インストール

$ sudo apt-get install gcc
$ sudo apt-get install build-essential
$ sudo apt-get install bison byacc gperf
$ sudo apt-get install zlib1g-dev
$ sudo apt-get install libreadline5 libreadline-dev
$ sudo apt-get install libncurses5 libncurses5-dev
$ sudo apt-get install libssl-dev
$ sudo apt-get install sqlite3 libsqlite3-dev
$ sudo apt-get install curl
$ sudo apt-get install ruby
$ sudo apt-get install rubygems
$ sudo gem install rubygems-update

参考:http://d.hatena.ne.jp/qkrhn081/20120201/1328068379

■Jenkinsユーザー設定

$ sudo -i
# passwd jenkins
# exit

■RVMインストール(Jenkinsユーザーで)

$ su - jenkins
$ bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
$ vi .bashrc
(末尾に以下を追記)

if [[-s $HOME/.rvm/scripts/rvm]] ; then
  source $HOME/.rvm/scripts/rvm
fi

$ source .bashrc
$ type rvm | head -1
(「rvm は関数です」とか表示されていればOK)

■任意バージョンのRubyインストール

$ rvm install 1.9.2
$ rvm 1.9.2 --default
$ ruby -v
(「ruby 1.9.2p〜」と出ていればOK)

■Gitインストール

$ sudo apt-get install git-core

Github用の鍵作成

$ su - jenkins
$ ssh-keygen

.ssh/id_rsa.pub をコピーして、GithubのKeyに追加

Githubリポジトリをclone

$ git config --global user.name "XXXXX"
$ git config --global user.email XXXXX@gmail.com
$ git clone https://xxxxx@github.com/xxxxx/xxxxxx.git

■Jenkins設定

ブラウザでJenkins画面を開き、「プラグインの管理」へ移動。
以下をインストールする。
Github API plugin
Github plugin
・Git plugin
Ruby metrics
・Rake plugin

RVMパス、Gitパス、メールサーバーなど必要な項目を設定

新規ジョブを作成
ジョブの管理画面でGithubリポジトリ、ビルド処理、ビルド後処理などを設定
ビルドシェル

bundle install
rake db:migrate
reke db:test:prepare
rspec spec
rake cucumber

マシン再起動後、ジョブ実行