• Chefで書いたレシピをテストする(serverspec)

    こんにちは。小宮です。

    今回で最終回です。
    前回までにご紹介したレシピのテストするところをご紹介します。Serverspecを用います。

    なぜServerspecがいいかというのは以下リンクにも書いてますが、以下の点がよいと思います。
    ・Chefのテストツールでなく外部のツールなので依存関係がない(puppetでも使える)
    ・設計思想がシンプル簡単に使えるものということで、手間があんまりなくて簡単につかえた

    参考:
    Serverspec at hbstudy #45
    入門Chef Solo落ち穂拾い
    kayac/newbie-training
    「入門Puppet」
    resource_typeのマニュアル
    advanced_tips
    ncstudy#05 ハンズオン資料
    parallel_tests

    ・セットアップ
    バージョン0.3と0.6だとテストの書き方が若干違う感じだったので、マニュアルに沿ってる新しいほうを推奨します。
    [shell]# yum install rubygems

    gem install serverspec rake

    serverspec-init

    Select a backend type:
    
      1) SSH
      2) Exec (local)
    
    Select number: 1
    
    Vagrant instance y/n: y
    Input vagrant instance name: 10.0.0.241
     + spec/10.0.0.241/
     + spec/10.0.0.241/httpd_spec.rb[/shell]
    <br>
    コマンドの実行が終わると、上記のようにいくつかのファイルが作成されます。<br>
    

    [shell]# serverspec-init ~略~ Input target host name: 10.0.0.240 + spec/10.0.0.240/ + spec/10.0.0.240/httpd_spec.rb[/shell]
    SSHを指定し、ターゲットホストを入力すると、ホスト毎のディレクトリが作成されました。

    ...