使用单个 zip 文件部署多个战争的代码管道

问题描述 投票:0回答:1

我是 codepipeline 新手,无法找到如何配置 Codedeploy 以在 Elastic beanstalk 中的单个 zip 文件中部署多个 war。我可以通过 AWS Mangement 控制台使用 codepipeline 将单一战争成功部署到 Elastic beanstalk 中。但我的要求是在一个 zip 文件中有两个 war 文件,需要将其部署在 Elastic beanstalk 中。

创建了两个源:Src1 和 Src2

为主源 Src1 创建了 buildspec.yml,并且能够使用多个输入工件创建两个工件使用此

我的 builspect.yml 有以下几行。

artifacts:
  files:
    - '**/*'
  secondary-artifacts:
    artifact1:
      base-directory: $CODEBUILD_SRC_DIR_source1
      files:
        - ROOT.war
    artifact2:
      base-directory: $CODEBUILD_SRC_DIR_source2
      files:
        - Support.war

问题 1)现在在 Codedeploy 中,输入工件显示选择这两个(ROOT.war 或 Support.war)之一的选项。我看不到同时选择两场战争的选项。我怎样才能同时部署两个战争到codepipeline中的elastic beanstalk?

deployment amazon-elastic-beanstalk devops aws-codepipeline aws-code-deploy
1个回答
0
投票

我通过将 support.war 移动到主要源位置来做到这一点。 CodeBuild 将主要源位置的所有文件构建为输出工件。所以我更新了 buildspec.file 如下

phases:
  pre_build:
    commands:
      - echo pre_build      
  install:
    runtime-versions:
      java: corretto8
  post_build:
    commands:
      - mvn clean install
      - mv target/ROOT.war ROOT.war    
      - cd $CODEBUILD_SRC_DIR_support
      - mvn clean install
      - mv target/support.war $CODEBUILD_SRC_DIR/support.war
artifacts:
  files:
    - '**/*'
© www.soinside.com 2019 - 2024. All rights reserved.