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

问题描述

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

我需要将来宾文件夹与主机文件夹同步,但是主机文件夹必须为空才能使配置脚本起作用。用户和组也必须存在。在配置脚本运行之前,没有一个可以存在。我的供应脚本创建了用户和组。

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

这是我的Vagrantfile

$('li.nav-item').mouseenter(function (e) {

        e.stopImmediatePropagation();

        if ($(this).hasClass('dropdown')) {

            // target element containing dropdowns,show it
            $(this).addClass('show');
            $(this).find('.dropdown-menu').addClass('show');

            // Close dropdown on mouseleave
            $('.dropdown-menu').mouseleave(function (e) {
                e.stopImmediatePropagation();
                $(this).removeClass('show');
            });

            // If you have a prenav above,this clears open dropdowns (since you probably will hover the nav-item going up and it will reopen its dropdown otherwise)
            $('#prenav').off().mouseenter(function (e) {
                e.stopImmediatePropagation();
                $('.dropdown-menu').removeClass('show');
            });

        } else {
            // unset open dropdowns if hover is on simple nav element
            $('.dropdown-menu').removeClass('show');
        }
    });

我已经看过触发器,但是我可以弄清楚如何在触发器中使用# -*- 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

有什么建议吗?

解决方法

我找到了解决方法。

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",disabled: true,group: "www-data"

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

docs

disabled (布尔值)-如果为true,则此同步文件夹将被禁用, 将无法设置。 这可用于禁用先前定义的 已同步文件夹或有条件地禁用基于某些文件夹的定义 外部因素

这使我相信这可能是解决我的问题的预期方法之一。

有一个功能请求,要求在事后准备挂载文件夹,该请求似乎已关闭且尚未解决,因此我认为没有其他方法可以使用:https://github.com/hashicorp/vagrant/issues/936