是否在设置脚本运行后同步文件夹



在运行配置脚本后,是否可以让流浪同步文件夹?

我需要将来宾文件夹与主机文件夹同步,但主机文件夹必须为空才能使设置脚本工作。用户和组也需要存在。在配置脚本运行之前,其中的非可以存在。我的配置脚本创建用户和组。

同步文件夹是Magento主题。Magento首先需要安装,然后我才能同步目录,因为Magento不会安装到非空目录中。

这是我的流浪档案

# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "bento/ubuntu-18.04"
config.vm.network "private_network", ip: "192.168.33.10"
config.vm.provision "shell", path: "provision.sh"
config.vm.synced_folder ".", "/vagrant", disabled: true
config.vm.synced_folder "app/design/frontend", 
"/var/www/mage/app/design/frontend",
create: false,
owner: "mage",
group: "www-data"

config.vm.provider "virtualbox" do |vb|
vb.memory = "3000"
end
end

我已经研究了触发器,但我可以弄清楚如何在触发器中使用config.vm.synced_folder

有什么建议吗?

我找到了一个解决方案。

Vagrantfile中,将config.vm.synced_folder设置为false(也适用于nfs(:

config.vm.synced_folder "app/design/frontend", 
"/var/www/mage/app/design/frontend",
type: "rsync",
disabled: false,
owner: "mage",
group: "www-data"

现在运行vagrant up。一旦服务器配置完成,将禁用更改为true,如下所示:

config.vm.synced_folder "app/design/frontend", 
"/var/www/mage/app/design/frontend",
type: "rsync",
disabled: true,
owner: "mage",
group: "www-data"

现在运行vagrant reload,文件夹将同步。

医生说

disabled(布尔值(-如果为true,则此同步文件夹将被禁用,并且将不会进行设置这可用于禁用以前定义的同步文件夹,或基于某些外部因素有条件地禁用定义。

这让我相信这可能是解决我的问题的既定方法之一。

有一个功能请求在提供后装载文件夹,该请求似乎已关闭且未得到解决,因此我认为没有任何其他方法:https://github.com/hashicorp/vagrant/issues/936

最新更新