Serverspecで実用的な設定を確認してみる

  1. EBSサイズは初期では8GBに設定されており、それより大きい容量を割り当てても起動しただけではOSから認識されておりませんので、ディスクの正しいサイズを認識させます。今回は100GBのEBSを使用します。
1sudo resize2fs /dev/sda1
  1. PHPをインストールし、PHPの時刻設定とメモリの制限を設定します。
1yum -y install php ←phpインストール2vi /etc/php.ini3date.timezone=Asia/Tokyo ←変更後4memory_limit=512M ←変更後
  1. 上記の設定をserverspecで確認できるように記述すると以下のようになります。ディレクトリは「/local/i-incetanceID/spec/localhost/test_spec.rb」としています。
1require 'spec_helper'23describe command('date') do ←dateコマンド4  it { should return_stdout /JST/ } ←結果にJSTが含まれている5end67describe command("fdisk -l | grep filesys | awk '{print $4}'") do ←ディスク容量を表示させ8    it { should return_stdout /100G/ } ←100Gとなっている9end1011describe 'PHP config' do12  context  php_config('date.timezone') do ←PHPコンフィグのタイムゾーンが13   its(:value) { should eq 'Asia/Tokyo' } ←Asia/Tokyoになっている14end1516context php_config('memory_limit') do ←PHPコンフィグのメモリ制限が17      its(:value) { should eq '512M' } ←512MBになっている18end19end2021describe command('php -v |grep PHP') do ←PHPのバージョンを表示22it { should return_stdout /5.3.*/ } ←バージョンが5.3.*になっている23end
  1. /local/i-incetanceID/以下で「rake spec」コマンドでserverspecを実行します。
1$ rake spec2(in /local/i-instanceID)3/usr/bin/ruby2.0 -S rspec spec/localhost/test_spec.rb4....56Finished in 0.06612 seconds75 examples, 0 failures ←5項目をテストして間違いが0個。

いかがでしたか?

Serverspecは通常のLinuxコマンドと組み合わせることで様々な項目をテストすることもできます。

次回もお楽しみに!!

この記事を書いた人

aws-recipe-user