目前我正在尝试为我们的应用程序构建CD管道,这是一个典型的Maven J2EE
项目,我们将向Tomcat
容器部署战争。
我们对CD管道的计划如下:
CI(Run UT and build the WAR) -> Deploy to DEV -> Deploy to SIT -> Deploy UAT -> Deploy PROD
为了遵循CD的最佳实践,我们只在CI阶段构建一次二进制(war),但我们有一些配置文件对于每个环境都不同,那么放置相关配置文件的最佳方法是什么?部署阶段的每个环境?
我们正在使用Jenkins and the build-pipe-line plugin
构建pipeline
,是否有任何推荐的插件可以实现这一目标?
感谢。
答案 0 :(得分:1)
配置工件
您可以使用maven-antrun-plugin
ant任务应该在不同的环境中重用:
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<configuration>
<tasks>
<echo message="Configuring artifact, ${PIPELINE_STAGE}"/>
<!-- extracting,replacing,repacking -->
</tasks>
</configuration?
通过管道阶段共享工件
您可以在本文的Sharing build artifacts throughout the pipeline中找到详细信息。
答案 1 :(得分:0)
只需完成可能的答案数量:
您可以使用maven assembly plugin创建不同的部署War文件。根据我的经验,这比使用蚂蚁任务好得多。