vagrant&chefで構築した仮想CentOS上JenkinsでGoogle Testを実行
タイトルが長い。
細かくは覚えてないけど、やったことの備忘録。
Vagrant&Chefで仮想CentOS(Jenkins入り)を構築
いろいろ調べながらだったけど、何があったか覚えてないので実行環境だけ残しておきます。
Vagrantfile
# -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure("2") do |config| config.vm.box = "base" config.vm.box_url = "http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130427.box" config.vm.network :private_network, ip: "192.168.50.12" config.vm.provision :chef_solo do |chef| chef.add_recipe("apache2") chef.add_recipe("java") chef.add_recipe("jenkins::server") end end
Vagrantfileと同じ階層にcookbooksディレクトリを作って、そのなかにopscodeのcookbookを入れました。
Chef Community Cookbooks · GitHub
vagrant ssh接続
ここらへんが一番ハマった気がするけど、結局どう解決したかあんま覚えてない… ^^;
まだまだsshへの苦手意識は解消できないようです。
VagrantでVirtualboxの仮想マシンを作成 on Windows - chulip.org
Windows の MinGW 環境で vagrant ssh するには - エンジニアきまぐれTips
仮想環境のセッティング
本来ならばレシピかするべきなのでしょうが、手作業で必要なものを入れました。
ヘタレです。
GoogleTestのビルド
下記を参考に
Google Testのインストールメモ « StudioT::DevLog
Jenkinsから使うために、GoogleTestのディレクトリは/var/lib配下に移動。
自分はユーザvagrantのホームディレクトリ上にGoogleTestを置いてしまい、Jenkinsで実行しようとしてもPermission Deniedと言われ、ハマリました。
Jenkins上でGoogleTestを実行
実行についてはこちらを参照。
Google Testを動かしてみる « StudioT::DevLog
テスト結果のxml出力にはここらへんを参考にしました。
Jenkinsでgoogle-test - Public Notes / Textt
ブログズミ: Google Test を使ってみる - その6(Jenkins との連携、スキップ対応)
結果
Jenkinsでの実行コマンド
rm -fr result g++ -I/var/lib/gtest_mock/gmock-1.6.0/gtest/include KaorunTest2.cpp -o test /var/lib/gtest_mock/gmock-1.6.0/gtest/libgtest_main.a /var/lib/gtest_mock/gmock-1.6.0/gtest/libgtest.a -lpthread mkdir result ./test --gtest_output="xml:result/"
-
-
- -
-
今回やったこととは関係ないけど、MinGWで作った半透明のターミナルウィンドウはモチベーション維持に効果を発揮した。
Windowsで最高のターミナルを構築する方法 - 純粋関数空間