VagrantのプロビジョナーにAnsibleを指定する
前回はVagrantのboxにDebian 9 “Stretch"を追加して起動するとこまでを実施しました。
今回は、IPアドレスの固定と、プロビジョナーにAnsibleを指定するよう、Vagrantfileを編集します。
ディレクトリの整理
前回は~/ansible/
でvagrant init
していましたが、ansible用のディレクトリと疎にしたかったので、~/vagrant/
に移動し、以下のようにしました。
Ansibleのディレクトリ構成は、公式ドキュメント に従っています。
Best Practices — Ansible Documentation
ansible/ production staging group_vars/ host_vars/ library/ filter_plugins/ site.yml roles/ vagrant/ Vagrantfile
Vagrantfile
前回vagrant initしたディレクトリに、Vagrantfile
が作られています。
これを編集して、IPアドレスの指定と、プロビジョナーの設定をします。
自動生成されたVagrantfileはコメントだらけですが、コメントを除去してみるとこれだけです。
Vagrant.configure("2") do |config| config.vm.box = "debian/stretch64" end
ネットワーク設定
ネットワークの設定はconfig.vm.network
です。
config.vm.network "private_network", ip: "192.168.33.10"
プロビジョナーの設定
プロビジョナーの設定はconfig.vm.provision
です。
Ansibleを指定します。
config.vm.provision "ansible" do |ansible| ansible.playbook = "../ansible/site.yml" ansible.inventory_path = "../ansible/staging" ansible.limit = 'all' end