シェルスクリプトをServerspecとVagrantで継続的インテグレーションする @ Glory Web Infra http://peatix.com/event/71002
著者のmizzyさんこと宮下剛輔氏よりご恵贈いただきました。ありがとうございます。 Serverspec 作者: 宮下剛輔出版社/メーカー: オライリージャパン発売日: 2015/01/17メディア: 単行本(ソフトカバー)この商品を含むブログ (1件) を見る さて、本書について、技術的な側面で語れるひとはたくさんいるだろうので、ちょっと趣向を変えて、エッセイ的な話を書く。ちょうど、著者も「本書は、単なるServerspecに関する解説書ではなく、Serverspecに関する思いを綴ったエッセイとも言えるかもしれません」(「はじめに」より)と書いていることだし。 Serverspec誕生の頃 約2年前の今頃、ある新しいシステムのためにサーバを構築しようとしていて、我々(mizzyさん、@lamanotramaさん、僕)は苦心していた。Puppetでサーバ構成を記述するに際して、もっといけ
ここ半年ほど取り組んでいた Serverspec に関する本が出ます。2015年1月17日発売予定です。 O'Reilly Japan - Serverspec Amazon.co.jp: Serverspec: 宮下 剛輔: 本 どんな内容か、というのは、サイトの紹介文や目次を見ればわかるので、ここでは、なぜこの鳥が表紙に選ばれたのか、といったことでも書こうかな、と思ったんですが、こういうのは明かさない方がおもしろいので、やっぱり書かないことにします。おそらく、何という名前の鳥なのかすらわからない方が大半かと思いますが、あえて伏せておきます。名前や生態は最後のページに載っていますので、知りたい方は買うなり、店頭で確認するなりしてみてください(妻が Facebook に名前を書いちゃってるけど)。 本書は、開発者である自分にしか書けないことをできる限り盛り込み、自分以外の人でも書けるような
本書は、Serverspecの開発者自身により書かれた初の書籍です。機能の詳細、動作仕様や内部のアーキテクチャ、ソースコードレベルで拡張する方法、開発に至る経緯や開発に関する哲学など、開発者自身にしか書けない包括的な内容を紹介。Serverspecとその周辺について既にある程度の知識や理解があるが、さらに踏み込んだ内容が知りたい、自分の手足のように使いこなしたい、もっと高度で詳細な情報を知りたい、思い通りに拡張したいと考える開発者やシステム管理者なら必携の一冊。伊藤直也氏による「まえがき」を収録。 まえがき はじめに 1章 Serverspecの紹介 1.1 Serverspecが生まれた経緯 1.2 Serverspecとは何か 1.3 Serverspecの利用目的 1.4 Serverspecの必要性 1.5 Serverspec開発の哲学 1.6 Serverspecのオフィシャル
インフラ構築の現場で活用が広がっている国産OSS「Serverspec」をご存知でしょうか。Think ITで活用連載を執筆したTISの池田氏と、開発者であるServerspec Operationsの宮下氏のインタビューが実現したので対談形式でお届けします。Serverspecってなに? という方はぜひこちらの連載もご覧ください。 宮下:宮下です。よろしくお願いします。4月からフリーランスでソフトウェアエンジニアとして仕事をしています。個人事業主の届け出を出すと屋号を付けられるので、「Serverspec Operations」にしてみました。ただ、特にそれを前面に押し出して活動しているわけでもなく、今はクックパッドでフルタイムで仕事をしています。主にインフラ周りの業務、たとえばVagrantを導入したり以前から使っているPuppetの整備をしたりなど、あとはインフラCI※の整備をしてい
November 13, 2014 参考 KAIZEN platform Inc. における運用自動化 - Speaker Deck Continous Integration and Delivery with Docker - CircleCI TL;DR CircleCI上でDockerコンテナを立て、 そのコンテナに対してプロビジョニングを行い、 プロビジョニング後のコンテナに対してテストを行う DockerコンテナにAnsibleを実行する コミットする度にDockerのimageをpullするのは時間がもったいないので cache_directoriesを利用し、imageをexportしておき 実行時にimportするようにすると多少速くなる。 . ├── Dockerfile ├── ansible/ └── circle.yml Dockerfile FROM kenji
[2014-01-09-1] からmasutaka.netのCIを開始したが、残念ながら masutaka.netに直接serverspecする、なんちゃってCIだった。 masutaka.netにcookしてからPRを出して、WerckerにCIさせていた。 WerckerとAWSを連携させて、テストのたびにサーバをまっさらな状態から 作り、終わったら破棄することが可能になったので、ここに記録しておく。 去年くらいに話題になったこの辺の話。 Vagrant + Chef Solo + serverspec + Jenkins でサーバー構築を CI - naoyaのはてなダイアリー naoya/circleci-serverspec なんで今までやらなかったかというと、cookが一発で通らないレシピになっ ていたから。。気づいてはいたんだけど、本番サーバのテストが通りさえ すればよかった
Dockerが使えるようになったため、Jenkinsにより仮想サーバの起動から、サーバ構築、テスト、仮想サーバの廃棄までを自動化してみました。 やりたいこと 以下のように、Chefのリポジトリの更新をトリガーに、仮想サーバの起動から、サーバ構築、テスト、仮想サーバの廃棄までをJenkinsにて自動化します。 Chefのレシピをリモートリポジトリへgit pushすると、Jenkinsが通知を検知 JenkinsからDockerの仮想サーバ(コンテナ)を起動 起動が成功すれば、Chefを実行し、サーバを構築 サーバ構築が成功すれば、serverspecを実行し、サーバの状態をテスト テストが成功すれば、Dockerの仮想サーバ(コンテナ)を廃棄 また、Dockerの起動停止、サーバ構築、テストは全てSSH接続により行います。 構成 CentOS 6.5 : Chef、serverspec、J
[Infrataster] InfratasterでNginxのルーティングのテスト書いてるサーバーのテストはServerspecで書いているんだけど、Nginxの設定ファイルで書いているウェブサーバーのルーティングのテストをどうしようかと思っていました。自分で、簡単なツールでも書くべきかなあと。 /path/to/app でアプリケーションにプロクシーする 但しcookieがない場合は静的ファイルをサーブする /path/to/static/file で静的ファイルをNginxが直接サーブする /path/to/health/check でヘルスチェック用のレスポンスを返す、但しHTTPヘッダーを見て普通のブラウザーアクセスではForbiddenにする バーチャルドメインごとに微妙にパスとかが違う みたいなルーティングのテストは、外側からのテストなのでちょっとServerspecのスコー
Docker をいじって遊んでいる。 http://www.docker.io/ Docker は PaaS ベンダの DotCloud がその PaaS のバックエンドとして使っている (?) ミドルウェアを公開したもの。適当な条件の VM をポコポコ生み出してはテストや実際の運用に使うことができたりするもの。例えば「Ruby と Bundler が入っている VM」みたいなのを設定で作っておくと、後日何か Ruby でアプリケーションを動かしたいと思ったときにそのイメージをベースに VM を作ってデプロイしてやればすぐにアプリケーションが動き出す。そもそも PaaS がやっているのはそういう事で、それを汎用化したのが Docker。Travis CI のような、各言語ごとの実行環境が整った VM みたいなものに任意のコードを渡してビルドさせる、みたいなプラットフォームを作るのにも使える
昨日 http://d.hatena.ne.jp/naoya/20130620/1371729625 で書いたように Docker を使えば、欲しい VM を "任意の状態" で簡単にかつ" "瞬時に" コピーして作り出すことができる。 「任意の状態」というのは、例えば「OS は CentOS で、Ruby と Chef が入っている」みたいな VM のこと 「瞬時に」というのは本当に瞬時。VM の起動時間を待ったり、Ruby や Chef を入れる時間を待つ必要はない serverspec でテストをする場合、真っ新な VM を用意してそれにプロビジョニングを行って、その後に破棄するみたいなことを良くする。このとき「真っ新なVM」を立ち上げるのに、Vagrant などが使えるが、Vagrant だとテストの度に VM を一から作り直す・・・つまり vagrant up しなければいけない
最近は担当システムが平和だけど俺が平和じゃない。疲れてる。忘年会の連チャンもきっついトシになっちまった。会社の制度で1週間くらい休みがとれるので、一人で温泉とスノボと開発合宿でもしに北海道にでも行こうかなって思ってる。1月か2月くらいに。 えーと、担当しているサービスにserverspecを導入した。それにあたってテスト項目を考えたので軽くまとめる。もちろんserverspec導入前もサーバ構築後は動作確認というか、テストらしいことはしていたっちゃしていたんだけど、テスト項目をまともに考えたのはこれが初めてかもしれない。serverspecのバージョンは0.13.2である。Rubyは2.0.0。 0. 環境 下記のような環境に導入した。ありふれた構成だと思う。60台くらいの規模。DBはマスタ3台に分割されていて、それぞれにスレーブがn台ぶらさがっている。LBの箱は二つあるが、物理的には1台
Jenkins おじさんと戯れること半日、うまくいったので備忘録を残しておく。 やりたかったのは Chef で構築したサーバーを Jenkins で CI する、というもの。このときサーバーはテストが終わる度に破棄して、テスト開始時に再度真っ新な状態から立ち上げたい。(こういうサーバーを壊して作ってというテストはなんという名前で呼ばれるのだろう?) 仮想サーバーを破棄/作成をプログラマブルにやるのはもちろん Vagrant プロビジョニングは Chef Chef の環境を整えるのに knife-solo 0.3.0.pre3 テストは serverspec コードは Github に上げる (https://github.com/naoya/jenkins-vagrant-test) CI は Jenkins という構成になっている。ひとまず Jenkins や Vagrant はローカル
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く