
64
3 章 Vagrant 仮想マシンのプロビジョニング
3.7.1
シェルスクリプト
シェルスクリプトのユニークさは、非常にシンプルなものから、信じられないほど
複雑なものにまで及ぶ、その柔軟性にあります。このセクションでは、
Vagrant
での
シェルスクリプトの扱いを容易にする機能や、シェルスクリプトで特定のタスクを実
行するための定型的な方法を紹介します。
シェルプロビジョナの基本では、シェルスクリプトを独立したファイルとして用意
しました。場合によっては、やりたいことが非常に単純なことであるため、わざわざ
別のファイルを用意することもないように思えることもあるでしょう。そういった場
合には、インラインスクリプトを指定することができます。
config.vm.provision "shell", inline: "apt-get install -y apache"
インラインスクリプトを指定すれば、
Vagrant
はデフォルトのシェルを使って、渡
されたコマンドを実行します。これは、シェルプロビジョナを使って、手っ取り早く
一度限りのタスクを実行するような場合に、非常に便利です。
形式的設定管理システムのすばらしい特徴の一つは、それらが冪等であることで
す。すなわち、同じ処理を何度実行しても、結果は同じになるのです。一方、シェル
スクリプトは、意識的にそうなるように書かない限り、冪等ではありません。そし
て、通常は冪等にするのは複雑なことなのです。
小技としては、ファイルの存在チェックをうまく使って、シェルスクリプトを一度 ...