ログってなんぼ

エンジニアのメモです

Windowsホスト+Vagrantのプロビジョニングにansible_localを使う

Vagrant環境のプロビジョニングにAnsibleを使っています。

Windows環境ではansibleをインストールすることが出来ないので、ホスト側のAnsibleを使うのではなく、ゲストOSにAnsibleを入れてそちらを使うようにする対応です。

Vagrantfile

    config.vm.provision "ansiblel" do |ansible|
      ansible.playbook = "ansible/dev.yml"
    end

これを

    config.vm.provision "ansible_local" do |ansible|
      ansible.playbook = "ansible/dev.yml"
    end

こう書き換えます

playbook

今回の例で言うとdev.ymlの中身になります

- hosts: dev-env
  connection: local
  user: vagrant
  vars_files:
    - group_vars/dev-env.yml
  roles:
    - common
    - web

connection: localを追記しています

vagrant for windows 1.9.6で動作確認済み