概要
Serverspecはサーバテスト用フレームワークで、サーバのテストコードをRSpecで記述
公式サイト - http://serverspec.org/
サーバ構築の自動化はChefやPuppetで実現できるが、それが本当に正しいインストールや設定が反映されているかをテストコードによって自動でチェックできるとても便利なフレームワーク
今回はVagrant上にServerspecをインストールし、テストを実行するための環境を整える
Vagrantを作成
centOSのboxでインスタンスを作成してVMにssh
$ vagrant init centos64
$ vagrant up
$ vagrant status
Current machine states:
default running (virtualbox)
$ vagrant ssh
[vagrant@vagrant-centos65 ~]$
Serverspecのインストール
gemのインストール
gemコマンドがない
$ which gem
/usr/bin/which: no gem in (/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/vagrant/bin)
まずrubyをインストール
$ ruby -v
-bash: ruby: command not found
$ sudo yum install ruby
$ ruby -v
ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]
gemコマンドが使えるようにrubygemをインストール
$ git clone https://github.com/rubygems/rubygems.git rubygems
$ cd rubygems
$ sudo ruby setup.rb
RubyGems 2.4.1 installed
ERROR: While executing gem ... (Gem::DocumentError)
RDoc is not installed: no such file to load -- rdoc/rdoc
今度はRDocがインストールされていないと怒られたのでRdocをインストール
$ sudo yum install rdoc
再度セットアップスクリプトを実行
$ sudo ruby setup.rb
・・・
RubyGems installed the following executables:
/usr/bin/gem
gemがインストールできたことを確認
$ which gem
/usr/bin/gem
[vagrant@vagrant-centos65 rubygems]$ gem -v
2.4.1
Serverspecのインストール
お待ちかねのServerspecをインストール
$ sudo gem install severspec
これでインストールが完了したので次はいよいよテストコードを書いてみようと思います
参考