【问题标题】:Capistrano for Java (EE) Web applications用于 Java (EE) Web 应用程序的 Capistrano
【发布时间】:2013-03-12 16:54:38
【问题描述】:

有人使用Capistrano 进行基于Java 的应用程序部署吗? 与 Mavenant 或 Eclipse Deploy 等现有工具相比,使用 Capistrano 有什么好处吗? Capistrano对于基于 Java 的应用程序的任何特定用例?

【问题讨论】:

    标签: java deployment web capistrano use-case


    【解决方案1】:

    将 Capistrano 与 Ant 和 Maven 进行比较是不正确的。这些应用程序的目的略有不同。 Capistrano 可以与它​​们两者结合使用。 Capistrano 主要是部署工具,而 Ant 和 Maven 主要用于构建和管理依赖项。它具有很好的将某些东西部署到集群的设施,并且没有连接到 java 或 ruby​​。与独立于平台的批处理脚本相比,它为此目的提供了一个更简单的 DSL。它提供了按命名空间和任务(如 ant)组织部署脚本的简单方法。考虑以下脚本:

    task :hosts => "host1, host2" do
      upload <file>
      run <comand>
    end
    

    它将文件上传到多个主机并在所有主机上运行命令。

    【讨论】:

    • ant 不是依赖管理工具。不?我同意 Maven 是依赖和构建管理工具
    • Ant 不是依赖管理工具,它是一个类make 的软件构建工具;然而,对于依赖管理,它可以使用 apache ivy 进行扩展;但是,管理的“依赖项”是软件依赖项。 Maven 内置了一个类似 ivy 的依赖工具,但它可以在任务中使用,例如部署,这实际上与简单的依赖管理不同。
    【解决方案2】:

    Rails 是与 Ruby 语言耦合的框架,Capistrano 被维基百科粗略描述为“脚本运行器”。

    Capistrano 在其一般用户文档中绝对没有提供 Java 部署示例,它可能会倾向于部署 Java,但很明显这不是“开箱即用”提供的功能。

    这两种选择都会使部署到 Java Web 容器变得不必要地复杂化。除非您对 Capistrano 的内部运作有丰富的知识,并且有时间让它们正确部署 Java Web 应用程序,否则我会寻找提供开箱即用 Java 部署的解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-12
      • 2011-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-11
      • 2011-04-20
      相关资源
      最近更新 更多