![Itamae meetup #1 で「ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 板前の献立 〜」というトークをしてきた : sonots:blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/da78a05937633f7a2b4b2219826151c370cd607b/height=288;version=1;width=512/https%3A%2F%2Fparts.blog.livedoor.jp%2Fimg%2Fusr%2Fcmn%2Fogp_image%2Flivedoor.png)
最近はChefとかAnsibleで構築を自動化する際に Serverspec で試験することも多くなってきたけれど、ServerspecだとXMLのテストがしにくい。 リソースタイプに'file'があるが、 containでは評価が正規表現なので通常のファイルの中身を見る文には便利。 describe file('/etc/httpd/conf/httpd.conf') do its(:content){ should match /ServerName www.example.jp/ } end しかしXML形式だとタグの中の複数の値(nameとvalueとか)を見なければいけないとなると、スペースとかが入ってきてやたら長大な正規表現を書くことになりそうで、いまひとつしっくりこない。 <property> <name>dfs.block.access.token.enable</name
Serverspec では様々な種類のテストを記述することが出来るのですが、内部では Specinfra というクラスでそのテストの定義と実装をしています。 実際にテストする際に使用するツールは OS によって変わってきてしまうので、その差異を吸収する部分も Specinfra に書かれています。 Vagrant が様々なホストとゲスト OS でプロビジョン出来る仕掛けと同じです。 さて、その Specinfra ですが、boot2docker や拙作の DockerRoot のように Busybox がベースの OS 用の設定がなく、テストがうまくいきません。 そこで、簡易な(実際に使ってみてうまく動かなかった部分のみ) DockerRoot/Busybox 用拡張を書いてみました。 ここでは、単純に spec/spec_help.rb に追加して、拡張することにしました。 (本格的なの
ServerspecでDockerコンテナをテストするのにDockerバックエンドを利用してみました。 Dockerコンテナ内にSSHDを立てたくなかったので、SSHバックエンドではなくDockerバックエンドでテストを実行したかったのですが、Web上にもあまり情報がなかったのでメモしておきます。 DockerバックエンドについてはServerspec本の中で紹介されています。 DockerバックエンドはDocker Remote APIを利用してテストを実行しているようです。 Serverspec 作者: 宮下剛輔出版社/メーカー: オライリージャパン発売日: 2015/01/17メディア: 単行本(ソフトカバー)この商品を含むブログ (3件) を見る ディレクトリ構成 . ├── Dockerfile ├── Gemfile ├── Gemfile.lock └── spec ├──
テストしてますか? 渡辺です。「進捗どうですか?」のダメージは計り知れないことはご存じかと思いますが、「テストしてますか?」のダメージも侮れません。 前者はほぼ全てのエンジニアに有効なアタックですが、後者はそれなりの経験を積んだエンジニアにしか有効でない点は異なりますね...。 さて、Ansibleを運用してくるとなれば、どうしても「どうやってテストをすべきか?」という問題にぶち当たります。 そこで、Ansibleを運用する中でのテストの考え方についてまとめておきます。 Ansibleの考え方とテスト Ansibleのような宣言型の構成管理ツールが登場するまで、サーバ構築の自動化といえばセットアップスクリプトの実行でした(自動化されていない場合は、ひとつひとつコマンドを打ち込んでいたでしょう)。 例えば、CloudFormationのcfn-initのUserDataでは次のようなセットア
先日社内の勉強会で「AnsibleとServerspecではじめるInfrastructure as Code」というお話をさせていただいたので、その資料を貼っておく。 元々はSlideShareを使っていたのだが、最近になってスライドを見終えると別のスライドに飛ばされるのが嫌になったのでSpeakerDeckに乗り換えようとしているところ。 AnsibleSpecの話とかもしようと思ったけど、自分の知識が古いのとあまりメンテがされてなさそうに見えたので今回は保留。 また機械があったらどこかで勉強しなおしてお話するかも?
昨夜、ドリコムさんで行われた「最新インフラエンジニア技術勉強会 〜Fluentd, Elasticsearch,Chefの実践実例〜」に足を運んできました。 タイトルにもありますように、Chef, モニタリング, Fluentd, そして elasticsearch が使われている現場の情報を伺える機会となりました。 それでは、いつものようにノートをアップしておきます。 概要 2014-05-23 ドリコム 本社 (目黒アルコタワー) 19:30-20:00 ひらしー ドリコムのInfrastructure as Code 20:00-20:30 mickey Winning the metrics battle 20:30-21:00 外山 寛 Fluentd プラグイン開発講座 21:00-21:30 yoshi_ken MySQLと組み合わせて始める全文検索エンジン「elastics
仮想化やクラウド化が進み、インフラ環境をプログラマブルに構築できるようになってきました。この流れにより、サーバ構築をプログラムにより自動化することも多くなってきています。自動化が進むと、本当に意図した通りに正しくサーバのインストールや設定が実施されているかの確認テストも自動化することが求められるようになってきています。 本記事では、このような場面で有用なサーバ状態のテスト自動化フレームワークであるserverspecを紹介します。 serverspecとはなにか? 既に多くの技術系記事にて、serverspecの紹介がされているためご存知の方も多いかと思いますが、本技術ブログでは初登場のテーマであるためserverspecとはなにか?から順を追って解説します。 serverspecは宮下剛輔氏によって開発されたサーバの状態をテストするためのフレームワークです (Serverspec公式
[Infrataster] InfratasterでNginxのルーティングのテスト書いてるサーバーのテストはServerspecで書いているんだけど、Nginxの設定ファイルで書いているウェブサーバーのルーティングのテストをどうしようかと思っていました。自分で、簡単なツールでも書くべきかなあと。 /path/to/app でアプリケーションにプロクシーする 但しcookieがない場合は静的ファイルをサーブする /path/to/static/file で静的ファイルをNginxが直接サーブする /path/to/health/check でヘルスチェック用のレスポンスを返す、但しHTTPヘッダーを見て普通のブラウザーアクセスではForbiddenにする バーチャルドメインごとに微妙にパスとかが違う みたいなルーティングのテストは、外側からのテストなのでちょっとServerspecのスコー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く