2010-10-05 35 views
3

你使用什么来自动部署使用各种技术(不同的数据库,语言等)的各种服务器应用程序(web,套接字,守护进程)的应用程序?不可知论的自动部署

这里我们使用Python,Java和Ruby,并且将来也可以使用其他语言。

更新:我结束了使用Puppet来管理所有服务器设置,配置和部署。为了触发新版本的部署,我最终使用了Python Fabric脚本。

+0

我想只看到一个应用程序的答案。我知道没有银弹,但至少有一个适用于Python,Ruby和Java的部署应用程序。 – hgf 2010-10-05 17:48:44

回答

3

我使用Puppet进行一些服务器的部署/初始配置。基于Java的项目Maven和Ant。

2

您可以使用Ant,Makefile或批处理脚本。或者他们的组合。

1

我们使用Maven并在需要时拔出蚂蚁插件。反过来,蚂蚁插件非常偶尔会向某些本地脚本语言/应用程序/打包器/ /不管怎么样,但是我们发现,随着时间的推移,我们通常可以找到一个Maven或ANT插件/任务来完成这个任务。

您可能想查看连续部署,这是目前构建和CI空间中一个非常热门的话题。

1

对于Python,您可以使用Fabric或Paver 对于Ruby,capistrano和'vlad部署者' 对于Java,它是Ant。

对于PHP/Python项目,我还使用Peritor Webistrano,一个整洁的capistrano前端。它涉及到更改一些默认配方以删除特定于轨道的内容,但一旦您正确设置它就值得。

1

我认为你可以做的最好的选择是使用maven。即使Maven主要用于Java项目,您也可以使用正确的插件(或您编写的插件)在任何地方部署任何内容。

1

你可以使用maven,ant,ivy以及hudson for java项目。

1

我们使用Ant或Maven作为我们在家中的不同项目(取决于项目的需求和年龄......)。我们倾向于使用Jenkins(以前称为Hudson)作为我们的构建和部署工具。

然后,我们鼓励开发人员编写不会对数据库,URL等进行硬编码的代码。我们尝试在应用程序服务器中运行时通过容器(即数据源,纯JMS API等)进行抽象。我们倾向于通过我们在运行时查看的属性文件来抽象​​环境细节。属性文件的路径将被定义为服务器上的变量。通过这种方式,我们可以灵活地构建一次代码并将其转移到我们的所有环境中。

2

前往KWateeSDCM。它带有一个简单的Web GUI,不需要难以理解的脚本,并通过REST API与您的构建链很好地集成。