首页 > 解决方案 > 如何使用 buildspec.yml 从多个文件夹复制数据以通过 aws 代码管道进行部署?

问题描述

我正在为 ci/cd 设置代码管道,并在构建期间具有如下文件夹结构。

Foder1/文件 Folder2/子文件夹/文件

现在我想将它部署到 s3 如下

Folder2/subfolder/files 到 s3 的根目录。Foder1/files 到 s3 的根目录

所以s3会有

Folder1/files 文件 --- 来自子文件夹

我想用神器来做。我在 buildspec 中的当前设置是

artifacts:
  files:
    - '**/*'
    - 'mobileStaticPages/**/*'
  base-directory: 'rentscribe/dist*'

但是folder1文件没有处理,因为它不在基本目录中

标签: amazon-s3buildaws-codepipelineartifact

解决方案


在您的 Buildspec 中,首先准备一个包含要部署的文件的暂存文件夹,将该暂存文件夹用作工件的基本目录:

  post_build:
    commands:
      - mkdir staging
      - cp -r Folder2/subfolder/files staging
      - cp -r Foder1/files staging

  artifacts:
    files:
      - '**/*'
    base-directory: staging

推荐阅读