【CentOS7】serverspecをインストールする | 瀬戸内の雲のように

【CentOS7】serverspecをインストールする

Posted: 2018-03-27


スポンサーリンク

目次

背景

検証自動化と言えばIT業界で最もホットなキーワードの一つかと思います。そのためそういったツールもたくさん存在しますが、目的や用途に応じて使い分けられるといいですよね。

今回はサーバの設定や構成確認に使いやすい serverspec のインストールを行いたいと思います。

serverspecとは

日本人の方により作られたソフトウェアです。rubyで書かれています。
強みとしては、複数のプラットフォーム(OS)に対して同じコードが使えることです。つまりOSを意識せず使えます。

例えばインストール済みパッケージの確認はredhat系のOSならyum、debian系のOSならapt-getなどコマンドが違うわけですが、serverspecがその違いを吸収してくれます。

環境

  • CentOS Linux release 7.4.1708 (Core)
  • ruby 2.0.0p648 (2015-12-16) [x86_64-linux]

インストール手順

1. rubyのインストール

rubyのインストールはyumで行います。

yum install ruby

一発です。この時、gemも一緒にインストールされます。

 

2. serverspecのインストール

こちらはgemでインストールします。

gem install serverspec rake highline

またまた一発です。

 

3.インストール確認

インストールが完了したか確認します。

gem list serverspec

以下のような表示があればOKです。


*** LOCAL GEMS ***

serverspec (2.41.3)

 

4.簡単なテストの作成

テストの雛形を作るコマンドを実行します。

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

 

5.テストの実行

以下コマンドで実行できます。

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

以上となります。

検証自動化というといろいろなツールが出てきていますが、特徴を見極めた上でうまく使い分けられれば素敵だな~と思っております。


スポンサーリンク




コメント一覧


コメントを投稿する


お名前


コメント内容





TOP back