耙式预配置

  • 本文关键字:配置 ruby rake
  • 更新时间 :
  • 英文 :


我该如何在Ruby-way中?

# Rakefile
desc "Run task on server #1"
task :one do
    # Do somethin on server 1
    Srv1.exec "..."
end
desc "Run task on server #2"
task :two do
    # Do somethin on server 2
    Srv2.exec "..."
end
desc "Run task on both servers"
task :both do
    # Do somethin on both servers
    Serv1.exec "..."
    Serv2.exec "..."
end

我如何要求最终执行配置代码?我如何进行缩放(如果需要serv3)?Serv1应该是课程还是其他?

我需要做的是用耙子控制流浪vm,在vagrant内部运行自定义任务,将数据与主机系统同步,在生产上运行一些代码,然后将结果发送给Vagrant,等等。

首先,我将为您的模型修复次要校正。使用更简单的方法执行both任务:

desc "Run task on both servers"
task :both => [ :one, :two ]

我如何要求最终执行配置代码?我如何进行缩放(如果需要serv3)?Serv1应该是课程还是其他?

只需创建一个Serv类,然后将其传递给许多服务器或其他服务。因此,您将得到:

desc "Run task on a server"
task :one do
   # Do somethin on a server
   Serv.new( ENV[ 'SERVER_NUMBER' ] ).exec "..."
end
desc "Run task on all servers"
task :one do
   # Do somethin on all servers
   Serv.exec "..."
end

如果您想在多个服务器上做一些事情,则rake可能不是最佳的工作工具。也许您想查看通常用于部署软件的Capistrano,但也可以是远程处理一般事情的工具。

好。我已经解决了问题,将两个文件加载到Rakefile的头部,第一个是带有服务器类的server.rb,第二个是init.rb,带有服务器实例化代码Server1 = Server.new({:user=>'...,可从Rackfile中的任务访问。

最新更新