---
title: Serverspecを使ってみた話
tags: 
author: [Yasufumi Moritake](https://convert.docswell.com/user/moriyasu0410)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/2EVM288GEQ.jpg?width=480
description: Serverspecを使ってみた話
published: April 06, 15
canonical: https://convert.docswell.com/s/moriyasu0410/5LYD7Z-2015-04-06-120000
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/2EVM288GEQ.jpg)

Serverspec
を使ってみた話
Yasufumi Moritake


# Page. 2

![Page Image](https://bcdn.docswell.com/page/57GGR5ZD7L.jpg)

自己紹介


# Page. 3

![Page Image](https://bcdn.docswell.com/page/4EQXVZLX7P.jpg)

Yasufumi Moritake
•
@moriyasu0410
•
github, twitter
•
最近はPHPとRuby
•
娘(1歳7ヶ月)のために玉子焼きを作ってます


# Page. 4

![Page Image](https://bcdn.docswell.com/page/KJ46M3D271.jpg)

Serverspec使ってますか？


# Page. 5

![Page Image](https://bcdn.docswell.com/page/LE1V81ZK7G.jpg)

Serverspec
•
宮下 剛輔(@mizzy)氏が作成したサーバーの状態をテストするツール
•
公式サイト
•
•
http://serverspec.org
オライリー本
•
http://www.oreilly.co.jp/books/9784873117096
•
RSpecベース
•
構成管理ツール(Chef, Ansible, itamaeなど)に依存しない


# Page. 6

![Page Image](https://bcdn.docswell.com/page/GEWLZ89P72.jpg)

Serverspecのテストコード
describe package(&#039;nginx&#039;) do
it { should be_installed }
end
!
describe command(&#039;nginx -v&#039;) do
its(:stdout) { should match /nginx\/1.6.*/ }
end
!
describe service(&#039;nginx&#039;) do
it { should be_enabled }
it { should be_running }
end
!
describe port(80) do
it { should be_listening }
end


# Page. 7

![Page Image](https://bcdn.docswell.com/page/47ZM1896E3.jpg)

なんとなくわかる！


# Page. 8

![Page Image](https://bcdn.docswell.com/page/YJ6NLPKLJV.jpg)

やってみよう！


# Page. 9

![Page Image](https://bcdn.docswell.com/page/GJ551KPMJ4.jpg)

Serverspec導入ハンズオン


# Page. 10

![Page Image](https://bcdn.docswell.com/page/9E2N1W6R7R.jpg)

Serverspecインストール
$ mkdir serverspec
!
$ cd serverspec
!
$ bundle init
!
$ vim Gemfile
+ gem ‘serverspec’
!
$ bundle install --path vendor/bundle


# Page. 11

![Page Image](https://bcdn.docswell.com/page/D7YPZL957M.jpg)

Serverspec初期設定
$ bundle exec serverspec-init
!
Select
!
OS type:
1) UN*X
2) Windows
!
Select
!
Select
!
number: 1
a backend type:
1) SSH
2) Exec (local)
!
Select
!
number: 1
Vagrant instance y/n: n
Input target host name: vagrant
+ spec/
+ spec/vagrant/
+ spec/vagrant/sample_spec.rb
+ spec/spec_helper.rb
+ Rakefile
+ .rspec


# Page. 12

![Page Image](https://bcdn.docswell.com/page/VEN534L4J8.jpg)

Serverspecテスト実施
$ bundle exec rake spec
!
Package &quot;httpd&quot;
should be installed
!
Service &quot;httpd&quot;
should be enabled
should be running
!
Port &quot;80&quot;
should be listening
!
Finished in 0.35266 seconds (files took 1.12 seconds to load)
4 examples, 0 failures


# Page. 13

![Page Image](https://bcdn.docswell.com/page/Y79Y9Q44E3.jpg)

Serverspec導入ハンズオン
おしまい


# Page. 14

![Page Image](https://bcdn.docswell.com/page/G7869GQVJD.jpg)

Serverspecを使ってみた感想


# Page. 15

![Page Image](https://bcdn.docswell.com/page/L7L9WGXRER.jpg)

導入が簡単


# Page. 16

![Page Image](https://bcdn.docswell.com/page/4EMZ9QLP7W.jpg)

公式サイトのドキュメントが
充実している


# Page. 17

![Page Image](https://bcdn.docswell.com/page/PER6G8KYJ9.jpg)

Ruby知らなくても使える


# Page. 18

![Page Image](https://bcdn.docswell.com/page/P7XMX8L4JX.jpg)

既存のサーバー
に対しても使える
※死活監視的な使い方ではないです


# Page. 19

![Page Image](https://bcdn.docswell.com/page/37KGWKLPED.jpg)

Ruby未経験の場合、
経験するキッカケとする


# Page. 20

![Page Image](https://bcdn.docswell.com/page/LJ3N1Z34J5.jpg)

まとめ


# Page. 21

![Page Image](https://bcdn.docswell.com/page/8JDWXR45EG.jpg)

Serverspec、
今すぐ使うべきだと思います！


# Page. 22

![Page Image](https://bcdn.docswell.com/page/VEP9PWMD78.jpg)

ありがとうございました


