You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过CodePipeline将单Zip包内多WAR部署到Elastic Beanstalk

解决CodePipeline部署两个WAR到Elastic Beanstalk的方法

核心思路是在Build阶段把两个WAR文件打包进同一个Zip包,这样部署阶段只需选择这个单一工件即可,具体步骤如下:

1. 修改buildspec.yml,合并两个WAR为单个Zip

放弃生成次级工件,改为在构建阶段将两个WAR文件复制到同一目录并打包。替换你当前的buildspec.yml为以下内容:

version: 0.2

phases:
  build:
    commands:
      # 创建临时目录用于存放要合并的WAR文件
      - mkdir -p ./combined-war
      # 从Src1复制ROOT.war到临时目录
      - cp $CODEBUILD_SRC_DIR_source1/ROOT.war ./combined-war/
      # 从Src2复制Support.war到临时目录
      - cp $CODEBUILD_SRC_DIR_source2/Support.war ./combined-war/
      # 将临时目录打包成部署用的Zip文件
      - zip -r combined-deployment.zip ./combined-war/

artifacts:
  files:
    - combined-deployment.zip

2. 配置CodePipeline部署阶段

  • 在CodePipeline的Build阶段,输出工件设置为上述生成的combined-deployment.zip。
  • 进入Deploy阶段,选择Elastic Beanstalk作为部署提供商,直接选择这个Zip工件即可。

Elastic Beanstalk会自动解压Zip包,将里面的ROOT.war部署为根应用,Support.war部署为对应/Support路径的应用,满足你同时部署两个WAR的需求。

注意:确保你的CodeBuild运行环境(比如Amazon Linux 2镜像)自带zip命令,若没有可在build阶段添加yum install -y zip命令提前安装。

内容的提问来源于stack exchange,提问作者Jalandar R

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 19:37:11