SERVERSPEC(サーバースペック) 最新情報
バージョンアップ情報SERVERSPECのバージョンアップ情報 |
年間サポートSERVERSPECの年間サポートサブスクリプション |
導入支援サービスSERVERSPECの導入支援サービス |
活用例・導入事例SERVERSPECの活用例・導入事例 |
|||||||||||
SERVERSPEC(サーバスペック)とは
SERVERSPECは、宮下剛輔氏によって開発されたインフラ・テスト・フレームワークです。これを使用すれば、「Webサーバがインストールされていること」「Webサーバが80番ポートで生きていること」「想定したファイルやディレクトリが存在し、適切なパーミッションを持つこと」など、インフラの構築・動作状況をテストするツールです。
手作業でインフラを構築する場合のテストにはもちろん、構成管理ツールを使う場合も、ツールのコードを開発するプロセスでは有用です。一方で、一旦構成管理ツールを使用した運用に入れば、あまり使用する機会がないかも知れません。
SERVERSPECの役割
Serverspec
Serverspecでは、RSpec記法で書かれたテストコードを使ってテストを実行する。OSの相違はServerspecで吸収し、OS非依存のコードになっている(OSのコマンド形式を入れる事もできる)。
SERVERSPEC(サーバースペック)の特長
1) 可読性・保守性の高いコード
SERVERSPECは、Rubyで開発され、内部的にRSpecというRubyのテスト・フレームワークを使用しており、そのためテストコードはRpec記法と言われる方法で記述・コード化しており、OS非依存のコードとなっています(OSに依存したコードも入れられます)。テストコードは、可読性が高く保守性がよいのが特徴です。
2) エージェントレス
SERVERSPECを使ってテストを行うリモートサーバ側にはRuby含め特別なソフトは不要です。なお、テストコードなどをリモートサーバ側に置いてテストする方法もあります。
3) Vagrantとの連携
Vagrantの仮想OSをテストすることが最初から想定されていて、Vagrantを起動した上でOSのテストするような設定も可能です。
4) Docker,LXCとの連携
多くの場合、リモートサーバにはSSHやEXECバックエンドを経由してコマンドを実行しますが、DockerコンテナやLXCコンテナに対するテストも行えます。Dockerの場合は、Dockerコンテナが動いているホスト以外からでもテストが行えます。Dockerコンテナ内でSSHを動かしたくない場合などに対応できます。
SERVERSPECのライセンス
SERVERSPECはオープンソースライセンスであるMITライセンスとなっています。
SERVERSPECの入手先
SERVERSPECの安定版、最新版は以下の方法でインストールしてください。
インストールを行う。
$gem install serverspec
または、アプリケーションのgemfileに
gem 'serverspec'
行を追加して、実行する。
$bundle
引用 SERVERSPECホームページ