2013

 2013/06/29

速報 Packerでさまざまな仮想マシンのテンプレートを作成する

続報で、VagrantのBoxの作り方について書きました。こちら Vagrantの作者であるHashimotoさんが新たにPackerというツールをリリースした(昨晩!)ので速攻ご紹介。 このツールは、Amazon EC2のAMIやVirtualBoxやVMware用のOSのイメージを一貫性のあるインターフェイスで簡単 (続きを読む)

 2013/06/22

ChefのCookbookのベストプラクティス

OpsCode社のシニアコンサルタントであるJulianさんがChefConf2013で話された内容が参考になるので、簡単に紹介します。 スライドはこちらに公開されています。また動画はこちらです。 ここで出てこない話として僕がやるべきだと思うことは「テストを書くこと」です。test-kitchenとserverspec (続きを読む)

 2013/06/18

Saharaが正式にVagrant 1.1+対応になりました

全国1000万人のVagrant利用者のみなさんこんばんは。 以前僕がforkして作っていたSaharaのVagrant 1.1以降への対応ですが、作者のPatrickさんとコンタクトしながらメインライン側にマージしてもらい、Rubygemsも更新してもらいました。 ということで今後は Vagrant 1.1以降を利用 (続きを読む)

 2013/06/12

Vagrant CentOS各バージョンのboxを用意しました

Test-Kitchenとかを使ってChefのCookbookをテストする際に色々な種類のVagrantのboxを使います。 RedHat系のOSを使うことが多いのですが自分が作って使っているboxを共有しておきます。 仕様は Veeweeで作成していますが、余計なものは全部取っ払ってます Chefは全てオムニバスイ (続きを読む)

 2013/06/11

Vagrant + シェルスクリプトで簡単プロビジョニング

Vagrantでプロビジョニングというと、Chef SoloとかChefとかPuppetを使うという印象がありますが(Vagrant initしてできるVagrantfileにもそれらだけが入っている)、シェルスクリプトでも簡単にプロビジョニングできます。 マニュアルに書いてあるわりに意外と知らない人が多くてびっくりし (続きを読む)

 2013/06/01

書評 Vagrant- Up and Running

数日前に初めてのVagrantの書籍であるVagrant: Up and Runningが発売されました!著者はVagrantの作者であるMitchell Hashimoto氏(今年日本に来るそうです!)です。Kindle版なら1215円でかなりお手頃価格です。 Vagrant: Up and Running カテゴ (続きを読む)

 2013/05/28

Vagrantのコアの挙動を変更する方法

Vagrantは素晴らしいプロダクトであることは言うまでもないことですが、時にはVagrant自体の挙動を変更したいと思うこともあります。 たとえば、Vagrantでは作成したインスタンスにChefなどのProvisionerを使ってパッケージをインストールするときに、sudoコマンドを利用してユーザー権限からインスト (続きを読む)

 2013/05/26

vagrant-omnibusで簡単Chef Client/Chef Soloインストール

Vagrantを使ってインスタンスを作成し、Chef Provisionerで自動でパッケージをインストールしたり設定をする、というのが定石の流れです。 しかし、インスタンスの雛形であるboxにChef ClientやChef Soloがインストールされていない場合、このインストールを自分でしないといけないのは面倒の極 (続きを読む)

 2013/05/14

5分で分かった気になるDevOps

最近あっちゃこっちゃでDevOpsという単語を聞きますが、概念的な言葉でスコープが広いので簡単に整理しておくことにします。 これで5分くらいで分かった気になるかもしれません。 2009年にFlickrの人が発表した概念 http://www.slideshare.net/jallspaw/10-deploys-per (続きを読む)

 2013/04/28

書評 テスト駆動開発による組み込みプログラミング

今月発売になった「テスト駆動開発による組み込みプログラミング C言語とオブジェクト指向で学ぶアジャイルな設計」を監訳者の蛸島さんより頂戴したのでご紹介します。 原著者は、ジェームズ・グレニング氏で、アジャイルマニフェストの創始者の一人で、主に組み込みの分野を得意としているアジャイルコーチです。 昨年のAgile 201 (続きを読む)

 2013/04/27

veeweeを使ってVagrant用のboxを自分で作る方法

Vagrant用のbox(OSのテンプレート)はhttp://www.vagrantbox.es/などで多数配布されています。 とりあえず試してみる分にはこちらにあるものを使ってみるのも良いですが、実際に開発で使おうとするといくつか問題があります。 そのOSに怪しいプログラムがインストールされているかもしれない 初期 (続きを読む)

 2013/03/31

Vagrant1.1のMulti-VM環境でSaharaを使う方法

昨日の「Vagrantの必須プラグインSaharaをVagrant 1.1に対応させました」の続きです。 Vagrantでは1つのVagrantfileで同時に複数のインスタンスを立ち上げるMulti-VMに対応しています。例えば、Vagrant1.1だと以下のように定義できます。別にインスタンスはメモリが許す限り何個 (続きを読む)

 2013/03/30

Vagrantの必須プラグインSaharaをVagrant 1.1に対応させました

Saharaはコマンドラインから仮想マシンの状態をsandboxモード(変更をいつでも巻き戻せる)に変更できるプラグインです。これを使うことで、例えばchefのレシピ作成やミドルウェアのインストールの評価やリリース手順の確認や大規模な環境変更の評価などがやりやすくなります。Vagrantを使っている人であれば必携のプラ (続きを読む)

 2013/03/27

Vagrantのインスタンスの破棄の際にChef Serverのnodeも同時に削除する方法

タイトルが長くて何を言っているのか分かりにくいのですが、Vagrant 1.1 + Chef Serverを使ってインスタンスを作り、一端インスタンスを破棄して再度作ろうとすると、Chef Serverが、そのノードは既に登録中だから登録できねーよ、という409エラーを吐いてしまい、プロビジョニングに失敗します。 たと (続きを読む)

 2013/03/22

Vagrant1.1 + vagrant-awsで複数インスタンスを作る方法

※2013/5更新:最新のvagrant-awsの仕様にあわせて修正 Vagrant(1.1)でvagrant-awsを使ってEC2に複数インスタンスをまとめて作ることが可能です。やり方は通常のMultiVMの場合と同じです。 以下は冗長ですが、サンプルのソースです。WebサーバとDBサーバのインスタンスを起動し、それ (続きを読む)

 2013/03/19

Vagrant1.1を使ってAmazon EC2にCentOSのインスタンスを立ち上げる方法

2013/5更新:最新のvagrant-awsの仕様にあわせて修正 2013/6更新:最新のvagrant-awsの仕様にあわせて修正 Vagrant 1.1になって、VirtualBoxだけでなく、Amazon EC2やVMware Fusionのインスタンスを作れるようになったのはご存知のとおりだと思いますが、今 (続きを読む)

 2013/03/18

Amazon EC2でCentOS 6.4のAMIを自前で作る方法

既にCentOSはCentOSが提供する公式のAMIがあるのだが、自前でも作ってみた。(本当はやりたいことはもっと先にあるのですが、あまりに長いのでこれだけで1エントリにしときますw) 2013/3/19追記。rpmのインストールのところで最低限必要そうなコンパイラ系のツールなどをインストールするように変更。ipta (続きを読む)

 2013/03/14

foodcriticでChefのcookbookの書き方をチェックする方法

foodcriticはChefのcookbookのためのlintツールで、http://acrmp.github.com/foodcritic/ で公開されています。 cookbookは長い間環境を維持していくために使われるため、可読性が高く誰でも分かるように書いておくことが望ましいのは言うまでもありません。このツール (続きを読む)