スポンサーリンク
検証自動化と言えばIT業界で最もホットなキーワードの一つかと思います。そのためそういったツールもたくさん存在しますが、目的や用途に応じて使い分けられるといいですよね。
今回はサーバの設定や構成確認に使いやすい serverspec のインストールを行いたいと思います。
日本人の方により作られたソフトウェアです。rubyで書かれています。
強みとしては、複数のプラットフォーム(OS)に対して同じコードが使えることです。つまりOSを意識せず使えます。
例えばインストール済みパッケージの確認はredhat系のOSならyum
、debian系のOSならapt-get
などコマンドが違うわけですが、serverspecがその違いを吸収してくれます。
rubyのインストールはyumで行います。
yum install ruby
一発です。この時、gemも一緒にインストールされます。
こちらはgemでインストールします。
gem install serverspec rake highline
またまた一発です。
インストールが完了したか確認します。
gem list serverspec
以下のような表示があればOKです。
*** LOCAL GEMS ***
serverspec (2.41.3)
テストの雛形を作るコマンドを実行します。
serverspec-init
以下のような対話型のインターフェイスになりますので、ここでは1, 2と入力します。
Select OS type:
1) UN*X
2) Windows
Select number: 1 ★入力
Select a backend type:
1) SSH
2) Exec (local)
Select number: 2 ★入力
+ spec/
+ spec/localhost/
+ spec/localhost/sample_spec.rb
+ spec/spec_helper.rb
+ Rakefile
+ .rspec
以下のようなディレクトリ・ファイルができていればOKです。
# ls -l
ll
合計 4
-rw-r--r-- 1 root root 685 3月 27 16:12 Rakefile
drwxr-xr-x 3 root root 45 3月 27 16:12 spec
この状態で、サンプルのテストができています。
今回は全部消した上で新しい内容を書きます。
vim spec/localhost/sample_spec.rb
require 'spec_helper'
describe package('ruby'), :if => os[:family] == 'redhat' do
it { should be_installed }
end
以下コマンドで実行できます。
rake spec
実行結果が以下のようになっていれば成功です。
/usr/bin/ruby -I/usr/local/share/gems/gems/rspec-core-3.7.1/lib:/usr/local/share/gems/gems/rspec-support-3.7.1/lib /usr/local/share/gems/gems/rspec-core-3.7.1/exe/rspec --pattern spec/localhost/\*_spec.rb
Package "ruby"
should be installed
Finished in 0.09948 seconds (files took 0.4563 seconds to load)
1 example, 0 failures
以上となります。
検証自動化というといろいろなツールが出てきていますが、特徴を見極めた上でうまく使い分けられれば素敵だな~と思っております。
スポンサーリンク