首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >maven在一行中部署到tomcat集群(多个)

maven在一行中部署到tomcat集群(多个)
EN

Stack Overflow用户
提问于 2012-08-02 03:50:15
回答 1查看 1.7K关注 0票数 3

我们正在尝试将maven部署到多个服务器上,这些服务器只需一行即可形成我们的集群。

This solution运行得很好,只是我们需要重复运行它(每个服务器安装一次),我们的目标是在我们的集成服务器(jenkins)构建成功的工件之后再运行它。而且在这个时候,拥有矩阵功能并不是一个真正的选择。如果我们只需要部署项目,为什么还要按服务器重新构建项目呢?(加上执行此操作所花费的时间)

我们一直在尝试使用maven配置文件(每台服务器一个,试图一次激活所有的配置文件,或者一个包含所有服务器的大型配置文件),但没有成功,tomcat-maven-plugin不能以这种方式工作。

Jenkins似乎有一个基于cargo的部署插件,但一次只能处理一个服务器

有没有办法做到这一点?或者使用maven-tomcat-plugin?或者Jenkins/Hudson插件?

关于如何在成功构建后将war部署到集群,你们专家还有什么其他想法吗?(我试图避免shell脚本,只是因为可移植性问题)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-02 05:01:45

如果只需要一行代码,我建议将CMD、Ant、bash等脚本作为“一行”执行,并让该脚本做多件事。

例如,如果您使用Ant...您的一行代码可能是这样的:ant DeployToCluster。并且您的build.xml文件可能包含目标DeployToCluster,其中可能包含许多步骤。可以把它想象成重构出一个可以做很多事情的代码方法。调用你的方法的代码变成了一行程序。

你不太可能找到一条命令来做你想做的事情,除非它只是执行别人写的现有脚本来做你想要的事情。

无论哪种方式,能够一次将代码部署到单个服务器通常都是一个好主意。这可以让您的应用程序/服务始终保持正常运行,因为您一次只影响一个节点,而其他节点可以继续运行。它还有一个优点,如果出现严重的错误,您可以不重新启用集群中的一个节点并诊断一个服务器的问题,而不是通过一个糟糕的部署取出整个集群。我们的脚本遵循的部署策略步骤是:

  1. 禁用对单个节点监视
  2. 将该节点从群集中拉出
  3. 将新代码部署到该节点
  4. 验证节点是否使用新代码

正常运行将节点重新置于对该节点的H116H116监视中,对每个其他节点重复上述步骤

如果任何一步出了问题,我们都会为用户提供一个工作环境。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11766520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档