【Vagrant】 プロビジョニングで環境を自動構築
環境 Vagrant 1.8.1 VirtualBox 5.0.12
プロビジョニングの実行タイミング
はじめてvagrant up
を行ったときに、実行される処理。
2回目以降は以下のようなメッセージが表示されている。
==> default: flag to force provisioning. Provisioners marked to run always will still run.
明示的に、プロビジョニングを実行する場合は
vagrant up --provision
vagrant reload --provision
とする。
プロビジョニングの書き方
1. Vagrantfileにインラインで書く
以下のように書く。
Vagrant.configure("2") do |config| config.vm.provision "shell", inline: <<-SHELL echo 'HELLO!' date yum insatall -y mysql-server SHELL end
以下のようにも書ける。
script = <<SCRIPT echo 'HELLO!' date yum insatall -y mysql-server SCRIPT Vagrant.configure("2") do |config| config.vm.provision :shell, :inline => script end
2. 別ファイルに書く
Vagrant.configure("2") do |config| config.vm.provision "shell", path: "provision.sh" end
pathの部分はホスト側(Windows)のパスになる。
ただし実行するファイル(provision.sh)内のパスは、ゲスト側(CentOS)のパスになる事に注意。
chefやansibleも同様に書ける。
と言う事で作ってみた。
最小限の構成だけど、完全に自動化しようとすると結構大変。
これで今後は、デスクトップPCとノートPCの環境が統一できるかな?