第8弾 週末ランサーズ「Infrastructure as Code」 ~ ハンズオン手順 ~
Jenkins を実行するには Java が必要となります。PATH も忘れずに通してください。インストーラはUSBメモリに入っています。
Jenkins からも Vagrant を使って仮想マシンを起動するため、すでに立ち上がっている仮想マシンは破棄しておいてください。
vagrant destroy
プリセットされた状態の設定ファイルを配布してますので、そちらを利用して Jenkins の設定を行います。
$ cd jenkins
$ JENKINS_HOME=.jenkins java -jar jenkins.war
- 起動後 http://127.0.0.1:8080/job/weekendlancers_handson/ にアクセスして、Jenkinsが起動していればオッケーです。
ジョブの設定画面から下記を設定してください。
- ビルド無効化:チェックをはずす
- ソースコード管理 -> File System:各自の適切なパスに変更
本来なら Git などの SCM と連携して、commmit / push されたタイミングでビルドするなどが理想なのですが、ここでは簡易的にローカルディレクトリを対象にビルドします。
'ビルド実行'をクリックします。'ジョブの設定画面 -> ビルド -> シェルの実行'に定義されていた内容通りに、Vagrant によって VM が起動されてプロビジョニング・テストが実行された後、VM が破棄されます。
次は、serverspec のテストを Jenkins でのテストレポートとして出力してみましょう。まずは以下のファイルを編集して、レポート関係の設定を追加してください。
- serverspec/Gemfile
gem "serverspec"
gem 'rake'
gem 'ci_reporter'
- serverspec/Rakefile
require 'rake'
require 'rspec/core/rake_task'
require 'ci/reporter/rake/rspec'
続いて、Jenkins の設定を修正して、テストレポートを集計できるようにします。ジョブの設定画面から下記を設定してください。
- ビルド -> シェルの実行
cd serverspec
bundle install --path vendor/bundle
bundle exec rake ci:setup:rspec spec
- ビルド後の処理 -> JUnitテスト結果の集計
**/serverspec/spec/reports/*.xml
再度、'ビルド実行'をクリックします。
無事にビルドが成功した場合、テスト結果から serverspec で実行されたテストのレポートを確認できます。また、テストレポートの設定がされている状態で2回ほどビルドすると、テスト実行数の推移がグラフで表示されるようになります。