2013-03-12 129 views
0

有没有人使用Capistrano进行基于Java的应用程序部署? 使用CapistranoMaven,ant或Eclipse Deploy等现有工具相比有什么优势吗? 针对基于java的应用程序的Capistrano的任何特定用例?Capistrano for Java(EE)Web应用程序

回答

1

Rails是一个与Ruby语言结合的框架,Capistrano被维基百科大致描述为“脚本运行者”。

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

这两种选择都会不必要地将部署复杂化为Java Web容器。除非您拥有关于Capistrano内部工作的丰富知识,并且有时间让他们正确部署Java Web应用程序,否则我会考虑提供开箱即用的Java部署解决方案。

2

将Capistrano与Ant和Maven进行比较是不正确的。这些应用程序的目的有点不同。 Capistrano可以与它们结合。 Capistrano主要是部署工具,而Ant和Maven主要用于构建和管理依赖关系。它具有非常好的部署设备,并且没有连接到java或ruby。它为此目的提供了一个更简单的DSL,与其独立于平台的批处理脚本相比较。它提供了通过名称空间和像ant这样的任务来组织部署脚本的简单方法。考虑以下脚本:

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

它将文件上传到主机的数量并运行所有这些命令。

+0

蚂蚁不是依赖管理工具。没有?我同意Maven是依赖和构建管理工具 – 2013-03-12 18:25:50

+1

Ant不是一个依赖管理工具,它是一个制作软件的制作工具;但是,对于依赖管理,可以使用__apache ivy__进行扩展;然而,所管理的“依赖性”是软件依赖性。除了可以在任务中使用Maven之外,Maven内置了类似于ivy的依赖项工具,例如部署实际上与简单的依赖关系管理不同。 – 2013-03-12 19:33:17