将Maven部署配置与构建配置分离的“最佳实践”方法是什么?
我有一个由Jenkins建造的war
项目。我希望Jenkins将其部署到Elastic Beanstalk,但目前可用的最佳解决方案是使用beanstalk-maven-plugin
。
我不确定POM.xml是否包含有关部署的信息是有意义的;毕竟,在构建时,.war
可能会在任何地方结束。
在这种情况下,是否有某种方法可以使用Maven模块将beanstalk-maven-plugin
配置存储在单独的POM中,而不是实际的软件项目?
答案 0 :(得分:1)
我认为你必须要解决方案。
beanstalk-maven-plugin
定义添加到常规pom.xml
即可。配置可以存储在单独的属性文件中,也可以通过命令行(-D
选项)中的系统属性提供。将beanstalk
目标添加到Jenkins的maven命令行。因此,每个构建都将部署在beanstalk上。或者,您可以在Jenkins中定义另一个项目,只运行部署而不进行编译。您可以按计划运行此部署项目,也可以通过Jankins中的项目依赖项运行此部署项目。 答案 1 :(得分:1)
我想到三件事:
一个。我不确定(我承认我有点忙于尝试提出0.2.7-RC7),但我认为Java支持Elastic Beanstalk配置文件 。
因此分离可能是一个好主意(我承认在Beanstalker中管理配置是无聊的)
湾另一种选择是在maven-war-plugin的叠加功能中使用战争叠加,并根据你的其他战争创造一场战争。
在我个人的情况下,如果你问,我在Maven中有一个单独的部署配置文件,并且该功能通常会派上用场