Vagrant + Ansible $vagrant upだけで環境構築 その1

  • このエントリーをはてなブックマークに追加
  • Pocket

ローカル開発環境の構築を便利にしてくれるvagrant。
理想としては $ vagrant up だけで環境構築ができるとcool.

環境

  • ホスト:Mac OS X 10.11.1
  • ゲスト:Ubuntu 14.04
  • VirtualBox 5.0.10
  • Vagrant 1.7.4
  • Ansible 2.0.0.2

やりたいこと

  • 各メンバーが$vagrant upのみで環境を構築できるようにする
  • ホストマシンにはVirtualBoxとVagrant以外不要にする

簡単にいうと、各員が $ vagrant box add  とかしなくても同じ構成を作りたい!

box add を不要にする

これはVagrantfileでなんとかする。

config.vm.box_urlにboxファイルのURLを書いておくとupしたときにbox listになければダウンロードしてくれるようだ。

今回はubuntuをゲストに迎える。
boxファイルの入手先はVagrantbox.esでもAtlasからでもOK.

お好きな方を。

boxファイルのURLをVagrantfileのconfig.vm.box_urlへ記載。

vagrant upしてみる。

ダウンロードに時間がかかるが、これでboxファイルの入手とbox addが完了。

Ansible

インストール

今回はHomebrewでインストール。
pipでもインストールできる。

プロビジョニング

VagrantのプロビジョニングでAnsibleに実行してもらうタスクを書いていく。

Playbookと呼ぶらしい。拡張子はyml。
chefでいうところのレシピに当たる。

とりあえずubutnuの日本語化と時刻をJSTに変更してgitとhtopをいれてみる。

playbook.yml

2行目のbecome: yesはsudo: yesの意。
ansible 1.9からはsudo ではなくbecomeを使うらしい。

これをVagrantfileに追記してプロビジョンしてもらう。

いざプロビジョン。

確認してみる。

cool.

あとはVagrantfileとplaybookをgitにあげてcloneしてもらえば全員同じ環境をvagrant upだけで作れる。

Ansibleもインストールしてもらう必要があるので、それが忍びない or Windowsホストでもやりたい場合はこちらを。

$vagrant upだけで環境 その2

  • このエントリーをはてなブックマークに追加
  • Pocket

SNSでもご購読できます。

コメントを残す

*