すごい広島113で遊んでたこと。

テスト環境を提供しないといけなくて、Dockerつかいたかったけど、今回はVagrantのBoxでベースを提供することにした。 Packerつかうと時間がかかるのでvagrant packageでつくって、Vagrant Cloudにおいたりしてました。

ちょっと久しぶりにPackerでboxをつくるかーってAtlasにいってみたら、Web上に表示されたチュートリアルにそってコマンドラインで作業するだけでBoxがつくれるようになってました。 しかも、Packerの実行をAtlasがやってくれます。しかも、VirtualboxとVMwareのイメージ両方つくってくれます。 しかも、勝手にBoxesに登録されます。 素敵です。

  1. Atlasにサインインする
  2. Build Vagrant Boxes with Packer and Atlasというメニューがあってクリックする
  3. packerのバージョンの確認をさせられる。0.8.0より最新かどうか。
  4. PackeのTemplaterをもってるかきかれます。もってなかったら atlas-packer-vagrant-tutorialが使えると教えてくれます。
  5. API TOKENが生成されるので、環境変数に登録します
  6. packer push をつかって template.jsonとscriptをAtlasに送信します
  7. 進行状況をAtlasで閲覧できます。だいたい30分ぐらいかかります。

そうすると、boxができて、Atlasから取得できるようになります。 ここから配布していると vagrant box update でboxが更新できたりとなかなか嬉しいです。

他に遊んだこと

tutorialのものはUbuntu12.04だったので14.04にかえたりしました。

railsが実行できる環境つくって遊びました。 mysqlとrubyをいれてるだけです。2.1.6なのは大人の事情です。

公開するboxは一度公開したバージョンの場合、最終的なPackerの実行が失敗します。 成果物が登録できないからです。 メタデータを修正して、新しいバージョンに変えるようにしてください。

具体的にはこの辺を参考にしてください。versionを0.0.4にしています。

実際につくったVagarantのBoxはこちらにあります。

vagrant init eiel/rails-ymqsl

とかすると使えます。

Vagrantのboxをつくるのに、Packerをつかうとローカルマシンが占有されてつらかったのですが、Atlas上でビルドできるようになってたいへん幸せです。

継続的デリバリー感がします。とても楽しいので一度遊んでみてください。