gpt4 book ai didi

deployment - Capistrano - 如何部署到多个云服务器

转载 作者:行者123 更新时间:2023-12-03 14:59:27 25 4
gpt4 key购买 nike

我听说 Capistrano 支持部署到多个服务器,但我还没有找到一种实用的方法来设置它。当我说多台服务器时,我指的是在生产环境中运行相同应用程序的服务器。如果这是我目前使用的,我随时都想部署到 5 或 10 台服务器。

谢谢你。

最佳答案

使用多台服务器是使用 capistrano 而不是手工操作的主要原因之一。

您的 deploy.rb 只需要定义应该在哪些服务器上执行哪些操作,这是通过设置哪些服务器属于哪些角色来完成的。您可以创建自己的角色,但内置的 capistrano 配方要求您定义 3 个角色:

  • app:应用程序代码运行的地方
  • 网络:网络前端
  • db:运行迁移的位置

  • 这三个是同义词的情况并不少见:如果您有一堆相同的服务器都运行 apache +passenger,那么它们都是应用程序和网络服务器。其中之一需要被赋予 db 角色。

    您在 deploy.rb 文件中定义角色。最简单的,这只是一个 ip 地址或主机名列表:
    role :app, [192.168.1.1,192.168.1.2]

    它也可以是一个块。例如,在部署到 ec2 时,您可能会插入一个 api 调用来检索要部署到的服务器列表。我通常通过为服务器分配标签来做到这一点,在这种情况下,您可能有
    role :app do
    ec2.instances.tagged('app').map(&:ip_address)
    end

    将该角色映射到带有 app 标签的 ec2 实例(capistrano 缓存此信息并且只会执行一次您的块)

    关于deployment - Capistrano - 如何部署到多个云服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11587915/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com