Maven - 分离部署&项目

时间:2012-09-06 10:29:13

标签: java maven jenkins hudson elastic-beanstalk

将Maven部署配置与构建配置分离的“最佳实践”方法是什么?

我有一个由Jenkins建造的war项目。我希望Jenkins将其部署到Elastic Beanstalk,但目前可用的最佳解决方案是使用beanstalk-maven-plugin

我不确定POM.xml是否包含有关部署的信息是有意义的;毕竟,在构建时,.war可能会在任何地方结束。

在这种情况下,是否有某种方法可以使用Maven模块将beanstalk-maven-plugin配置存储在单独的POM中,而不是实际的软件项目?

2 个答案:

答案 0 :(得分:1)

我认为你必须要解决方案。

  1. 只需将beanstalk-maven-plugin定义添加到常规pom.xml即可。配置可以存储在单独的属性文件中,也可以通过命令行(-D选项)中的系统属性提供。将beanstalk目标添加到Jenkins的maven命令行。因此,每个构建都将部署在beanstalk上。或者,您可以在Jenkins中定义另一个项目,只运行部署而不进行编译。您可以按计划运行此部署项目,也可以通过Jankins中的项目依赖项运行此部署项目。
  2. 创建另一个maven项目。它只会运行beanstalk插件。我个人认为这样做没有明显的优势。

答案 1 :(得分:1)

我想到三件事:

一个。我不确定(我承认我有点忙于尝试提出0.2.7-RC7),但我认为Java支持Elastic Beanstalk配置文件

因此分离可能是一个好主意(我承认在Beanstalker中管理配置是无聊的)

湾另一种选择是在maven-war-plugin的叠加功能中使用战争叠加,并根据你的其他战争创造一场战争。

在我个人的情况下,如果你问,我在Maven中有一个单独的部署配置文件,并且该功能通常会派上用场