Proxy 在第一次运行后运行流浪者供应器*

Proxy 在第一次运行后运行流浪者供应器*,proxy,vagrant,vagrant-provision,Proxy,Vagrant,Vagrant Provision,我想找个食品供应员去追第一个流浪汉。有我可以使用的旗帜或东西吗 更具体地说: 我正在尝试将虚拟机配置为在代理后运行 但是,我想为此使用cntlm 因此,在我的vagrant脚本中,代理设置必须是127.0.0.1:3128 我无法在第一步执行此操作,因为此时,我需要首先安装cntlm。为此,必须将代理设置为实际值:myproxy.net 我的解决方法是通过WiFi(无代理)运行第一个vagrant up命令,安装cntlm和所有东西,然后在以后的每次运行中(此时,我将切换到代理网络),确保配置了

我想找个食品供应员去追第一个流浪汉。有我可以使用的旗帜或东西吗

更具体地说:

  • 我正在尝试将虚拟机配置为在代理后运行
  • 但是,我想为此使用
    cntlm
  • 因此,在我的vagrant脚本中,代理设置必须是
    127.0.0.1:3128
  • 我无法在第一步执行此操作,因为此时,我需要首先安装cntlm。为此,必须将代理设置为实际值:
    myproxy.net
  • 我的解决方法是通过WiFi(无代理)运行第一个
    vagrant up
    命令,安装
    cntlm
    和所有东西,然后在以后的每次运行中(此时,我将切换到代理网络),确保配置了代理


    有什么方法可以做到这一点吗?

    如果您只需要在vagrant box启动后运行provisioner,您可以执行以下操作:

    流浪准备金

    资料来源:

    如果您只需要在vagrant box启动后运行provisioner,您可以执行以下操作:

    流浪准备金

    资料来源:

    有一个问题,因此您应该配置您的代理,即使是vagrant也可以,以便在正常的启动/供应步骤(一次完成)中运行所有操作

    你应该能做这样的事情

    Vagrant.configure("2") do |config|
      config.proxy.http     = "http://192.168.0.2:3128/"
      config.proxy.https    = "http://192.168.0.2:3128/"
    
      # in any subsequent command the proxy is enabled
    
      # override parameter for the shell provisioner
      config.vm.define "instance" do |instance|
        instance.proxy.enabled = false
        instance.vm.provision :shell do |shell|
        shell.path = "install-puppet-modules.sh"
      end
    
    end
    
    在我的例子中,
    install pupper modules
    脚本将从puppet forge下载一堆模块,如果我对
    instance.proxy.enabled=false进行注释,它将无法连接(我没有配置代理)

    有一个问题,因此您应该配置您的代理,即使是vagrant也可以,以便在正常的启动/供应步骤(一次完成)中运行所有操作

    你应该能做这样的事情

    Vagrant.configure("2") do |config|
      config.proxy.http     = "http://192.168.0.2:3128/"
      config.proxy.https    = "http://192.168.0.2:3128/"
    
      # in any subsequent command the proxy is enabled
    
      # override parameter for the shell provisioner
      config.vm.define "instance" do |instance|
        instance.proxy.enabled = false
        instance.vm.provision :shell do |shell|
        shell.path = "install-puppet-modules.sh"
      end
    
    end
    

    在我的例子中,
    install pupper modules
    脚本将从puppet forge下载一堆模块,它的工作原理与我注释
    instance.proxy.enabled=false
    它无法连接(我没有配置代理)

    这不是我想要做的。我希望设置的不同步骤有不同的代理设置。@Sid,这是我的理解,但使用插件,您应该能够覆盖特定设置步骤的设置,并用一个看起来很有希望的示例(未测试,但应基于doc)编辑答案。我试试这个,然后告诉你。这个好像不管用。我收到错误无法将VagrantPlugins::Shell::Config转换为Array(VagrantPlugins::Shell::Config#to#ary提供Vagrant::Config::V2::DummyConfig)(TypeError)Vagrantfile:19:in`block in'我的配置看起来像:``Config.vm.provision:Shell do | Shell,override | override.proxy.http=“”override.proxy.https=“”#在这个provisioner中,代理被设置为特定值shell.path=“provision\u scripts/configure\u cntlm.sh”end``好的,我认为provision override与provider override相同,但它似乎有点棘手,我将更新我的示例这不是我想要做的。我希望设置的不同步骤有不同的代理设置。@Sid,这是我的理解,但使用插件,您应该能够覆盖特定设置步骤的设置,并用一个看起来很有希望的示例(未测试,但应基于doc)编辑答案。我试试这个,然后告诉你。这个好像不管用。我收到错误无法将VagrantPlugins::Shell::Config转换为Array(VagrantPlugins::Shell::Config#to#ary提供Vagrant::Config::V2::DummyConfig)(TypeError)Vagrantfile:19:in`block in'我的配置看起来像:``Config.vm.provision:Shell do | Shell,override | override.proxy.http=“”override.proxy.https=“”#在这个provisioner中,代理被设置为特定值shell.path=“provision\u scripts/configure\u cntlm.sh”end``好的,我以为provision override和provider override是一样的,但它看起来有点棘手,我会更新我的示例这对我来说不起作用,因为在设置时,我需要为不同的步骤设置两个不同的代理。这对我不起作用,因为在设置时,我需要为不同的步骤设置两个不同的代理。