我们正在尝试将maven部署到多个服务器上,这些服务器只需一行即可形成我们的集群。
This solution运行得很好,只是我们需要重复运行它(每个服务器安装一次),我们的目标是在我们的集成服务器(jenkins)构建成功的工件之后再运行它。而且在这个时候,拥有矩阵功能并不是一个真正的选择。如果我们只需要部署项目,为什么还要按服务器重新构建项目呢?(加上执行此操作所花费的时间)
我们一直在尝试使用maven配置文件(每台服务器一个,试图一次激活所有的配置文件,或者一个包含所有服务器的大型配置文件),但没有成功,tomcat-maven-plugin不能以这种方式工作。
Jenkins似乎有一个基于cargo的部署插件,但一次只能处理一个服务器
有没有办法做到这一点?或者使用maven-tomcat-plugin?或者Jenkins/Hudson插件?
关于如何在成功构建后将war部署到集群,你们专家还有什么其他想法吗?(我试图避免shell脚本,只是因为可移植性问题)
发布于 2012-08-02 05:01:45
如果只需要一行代码,我建议将CMD、Ant、bash等脚本作为“一行”执行,并让该脚本做多件事。
例如,如果您使用Ant...您的一行代码可能是这样的:ant DeployToCluster。并且您的build.xml文件可能包含目标DeployToCluster,其中可能包含许多步骤。可以把它想象成重构出一个可以做很多事情的代码方法。调用你的方法的代码变成了一行程序。
你不太可能找到一条命令来做你想做的事情,除非它只是执行别人写的现有脚本来做你想要的事情。
无论哪种方式,能够一次将代码部署到单个服务器通常都是一个好主意。这可以让您的应用程序/服务始终保持正常运行,因为您一次只影响一个节点,而其他节点可以继续运行。它还有一个优点,如果出现严重的错误,您可以不重新启用集群中的一个节点并诊断一个服务器的问题,而不是通过一个糟糕的部署取出整个集群。我们的脚本遵循的部署策略步骤是:
正常运行将节点重新置于对该节点的H116H116监视中,对每个其他节点重复上述步骤
如果任何一步出了问题,我们都会为用户提供一个工作环境。
https://stackoverflow.com/questions/11766520
复制相似问题