【问题标题】:How can I deploy but not symlink/restart using Capistrano 3?如何使用 Capistrano 3 部署而不是符号链接/重新启动?
【发布时间】:2018-01-18 23:21:47
【问题描述】:

Capistrano v2 有两个有用的任务:cap deploy:update_code 将完全部署到新的 releases/ 目录,但不会更改 current 符号链接或启动/重新启动服务器(因此服务器会继续运行当前版本而无需中断)。并且cap deploy:update 做了同样的事情并更改了current 符号链接,但没有启动/重新启动服务器。这些对于摆脱问题很有用,例如在进行实际部署之前进行资产编译。

这两个“更新”任务在 Capistrano v3 中消失了。是否有等效的方法可以在不更改 current 符号链接或重新启动服务器的情况下进行完整部署?

【问题讨论】:

    标签: ruby-on-rails capistrano capistrano3


    【解决方案1】:

    应该这样做的自定义任务列表:

    task :deploy_without_symlink do
      set(:deploying, true)
      %w{ starting started
          updating updated }.each do |task|
        invoke "deploy:#{task}"
      end
    end
    

    您可以在此处查看代码:https://github.com/capistrano/capistrano/blob/master/lib/capistrano/tasks/framework.rake#L58 以查看哪些部署触发器。每个https://github.com/capistrano/capistrano/blob/master/lib/capistrano/tasks/deploy.rake#L38 的发布任务是更改符号链接的原因。因此,通过省略之后的所有内容,您将得到您想要的。

    【讨论】:

      猜你喜欢
      • 2016-02-09
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      • 1970-01-01
      • 2013-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多