すごい広島113で遊んでたこと。
テスト環境を提供しないといけなくて、Dockerつかいたかったけど、今回はVagrantのBoxでベースを提供することにした。 Packerつかうと時間がかかるのでvagrant packageでつくって、Vagrant Cloudにおいたりしてました。
ちょっと久しぶりにPackerでboxをつくるかーってAtlasにいってみたら、Web上に表示されたチュートリアルにそってコマンドラインで作業するだけでBoxがつくれるようになってました。 しかも、Packerの実行をAtlasがやってくれます。しかも、VirtualboxとVMwareのイメージ両方つくってくれます。 しかも、勝手にBoxesに登録されます。 素敵です。
- Atlasにサインインする
Build Vagrant Boxes with Packer and Atlas
というメニューがあってクリックする- packerのバージョンの確認をさせられる。0.8.0より最新かどうか。
- PackeのTemplaterをもってるかきかれます。もってなかったら atlas-packer-vagrant-tutorialが使えると教えてくれます。
- API TOKENが生成されるので、環境変数に登録します
- packer push をつかって template.jsonとscriptをAtlasに送信します
- 進行状況を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にしています。
vagrant init eiel/rails-ymqsl
とかすると使えます。
Vagrantのboxをつくるのに、Packerをつかうとローカルマシンが占有されてつらかったのですが、Atlas上でビルドできるようになってたいへん幸せです。
継続的デリバリー感がします。とても楽しいので一度遊んでみてください。