嗨,我试着用迷航器和ansible提供我的盒子,但是我总是遇到/迷途/ansible/playbook.yml丢失。它正在寻找一个/vagrant目录。当我在我的框内ssh时,/vagrant就不存在了。我不知道会发生什么,但我所做的是将所有本地副本同步到我的框内的特定文件夹位置。下面是我做过的一个示例实现
Vagrant.configure("2") do |config|
config.vm.define "ans", primary: true do |ans|
ans.vm.box = "ubuntu/xenial64"
ans.vm.network "forwarded_port", guest: 80, host: 8080
ans.vm.network "private_network", ip: "10.8.9.20", auto_network: true
ans.vm.synced_folder ".", "/var/www/"
ans.vm.hostname = "my_project"
ans.vm.provision "pre-build", type: "shell", :path => "ansible/bootstrap.sh"
ans.vm.provision "ansible_local" do |ansible|
ansible.playbook = "ansible/playbook.yml"
end
end
end我在ansible.playbook = "ansible/playbook.yml"中得到了一个错误,看起来这一行是在/vagrant文件夹下查找的,而这个文件夹并不存在。解决这个问题的方法是什么?我的剧本就在这个位置,/var/www/ansible/playbook.yml在盒子里。
发布于 2017-10-26 12:12:59
默认情况下,流浪者会自动从当前目录中添加一个共享文件夹,并在VM上使用/vagrant文件夹。
因为你增加了
ans.vm.synced_folder ".", "/var/www/"当前文件夹共享文件夹已从/vagrant替换为/var/www (您可以轻松地通过从文件中删除行来验证这一点)
您真的需要将整个当前文件夹与/var/www同步吗?理想情况下,您应该将项目文件放在一个在/var/www中共享的子目录中,如
ans.vm.synced_folder "html/", "/var/www/"并将您的html /css/js文件全部推入html文件夹(请随意重命名项目或其他文件),您将不需要将所有的临时脚本和提供脚本与您的web服务器文件夹同步。
https://stackoverflow.com/questions/46953822
复制相似问题