No.199
【Vagrant】provisionの違い
provisionの動作がいまいち明確でない人へ
自分はプログラマなのでしょっちゅうvagrantコマンドを実行しているが、デザイナーの人など普段使わない人はprovisionで混乱する事が多いように思う。
一件分かりづらいけど、表にしてしまえばそう混乱もしない。というわけで、説明用にメモ。
環境構築時
環境を最初に構築するときはオプション無しで実行する。
vagrant up
この場合は全てのprovisionが実行される。
環境構築後にオプション無しで実行
環境を構築したあとに環境を立ち上げるときにはオプション無しで実行する。
vagrant up
この場合はprovisionは実行されない。
環境構築後にオプション--provision
有りで実行
環境を構築したあとにオプション--provision
付きで環境を立ち上げる。
vagrant up --provision
この場合は全てのprovisionが実行される。
環境構築後にオプション--provision-with
有りで実行
環境を構築したあとにオプション--provision-with
付きで環境を立ち上げる。
vagrant up --provision-with プロビジョン名1[,プロビジョン名2,...]
この場合は指定したprovisionのみ実行される。
補足
意外と知られてないのだがprovision実行は仮想環境が起動したままでも行える。
つまり、vagrant up
したあとにvagrant up --provision-with xxxx
で任意のprovisionを実行できる。便利。