最近、ブログ更新が滞っていました。今回は簡単なワンライナーです。
Serverspecでnginxのバージョンをテストしたい場合があったのでメモ。
$ nginx -v 2>&1 | egrep -o '[0-9]+\.[0-9]+\.[0-9]'
1.4.4
キモとなる部分が・・・
- nginx のバージョン表示を標準エラーも標準出力にリダイレクトさせています。 標準出力だけではダメでした。
egrep -o
で正規表現にマッチした部分だけを抽出しています。
ついでにServerspecのテストコードも載せておきます。 nginxのバージョン以外もテストを載せています。
require 'spec_helper'
describe service('nginx') do
it { should be_enabled }
it { should be_running }
end
# version
describe command('nginx -v 2>&1 | egrep -o "[0-9]+\.[0-9]+\.[0-9]+"') do
its(:stdout) { should match '1.6.1' }
end
# port
%w(80 443).each do |port_number|
describe port(port_number) do
it { should be_listening }
end
end
# 名前解決
describe host('serverspec.org') do
it { should be_resolvable }
it { should be_reachable }
end
新品価格 |