一般的に質問に答えてほしいのですが、それを説明するために、ここにユースケースがあります:
単純なLMAPプロジェクトにVagrantを使用しています。プロビジョニングにはスタンドアロンのPuppetを使用しています。ここで、プロキシの背後に座っている開発者がいる可能性があり、VMに対して追加の構成を行う必要があります。Puppet側で作業していることがあります。プロキシIP(存在する場合)をファクトとしてPuppetに渡すことができ、Vagrantfile
Puppetが設定されている場合はそれに応じて反応します。
Vagrantfile
私が抱えている唯一の問題は、開発者が(バージョン管理下にあり、dev-environment-neutralのままでなければならない)を変更せずに、開発環境のこの設定をどのように指定/オーバーライドできるかということです。
人々が例えば、と呼ばれるファイルのいくつかのVagrant設定をオーバーライドできれば素晴らしいVagrantfile.local
と思いますが、これはを介して除外し.gitignore
ます。
Vagrantfileは単なるRubyなので、次のことを試しました。
# Also load per-dev custom vagrant config
custom_vagrantfile = 'Vagrantfile.local'
load custom_vagrantfile if File.exist?(custom_vagrantfile)
ファイルインクルードは基本的に機能しますが、インクルードされたファイルのように見えます。私はもう同じVagrantコンテキストにいません...
Vagrant::Config.run do |config|
config.vm.provision :puppet do |puppet|
puppet.facter = { "proxy" => "proxy.host:80" }
end
end
...また、メインで作成した他のすべてのpuppet構成値を「リセット」します。Vagrantfile
これにより、ここで間違った方向に向かっていると思います。私はRubyの完全な初心者であることに注意する必要があります;)
ここで開発者ごとのカスタマイズを一般的に行う方法について、ヒントや実用的なソリューションを教えてもらえますか?