Vagrantfile
...
の設定を外部ファイルで制御する
Vagrantfile は Git リポジトリでバージョン管理されるファイルです。
しかし、利用者ごとに異なるユーザー名やパスワードなどは Git リポジトリにコミットしたくないので、Vagrantfile に直接書くのは避けたいです。
Vagrantfile は Ruby コードとして実行されるので、外部ファイルを読み込むことも可能です。
方法はいろいろあります。
.yml ファイルを読み込む場合
以下のコードで任意の YAML ファイルを Ruby オブジェクトに変換できます。
.yml ファイルを読み込む
Vagrant プラグインは不要です。 Ruby 標準添付の yaml ライブラリだけで実現できます。
例えば、次の yml ファイルを読み込むには
コード ブロック | ||
---|---|---|
| ||
A: aaa
B:
B1: bbb1
B2: bbb2
C: ccc |
Vagrantfile に以下のように記述します。
コード ブロック |
---|
require 'yaml' vm_config = YAML::load_file('config.yml') |
※ このようにする場合は、config.yml を .gitignore に入れておきます。
情報 |
---|
Vagrant の利用者にプラグインなどをインストールしてもらうこともなく、標準的な機能だけで実現できるので、この方法をオススメします。 ※ すごく簡単でシンプルなのになぜかメジャーになっていない。。他の方法を使わなければいけない特別な理由があるのかも? |
vm_config['A'] == 'aaa'
|
.env ファイルを読み込む場合
dotenv を Vagrant のプラグインとしてインストールしておきます。
...