環境 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の環境が統一できるかな?