代码构建工件未正确打包

Code build artifacts are not packed correctly

我正在使用 AWS Pipeline 部署 .NET Framework 应用程序,但在尝试为 Code Deploy 创建 zip 文件时卡住了。 源代码和构建步骤正在通过,但是在尝试为代码部署创建包时,发生了一些奇怪的事情。

这是我的文件夹结构:

Project
    -Source
        -Base
            -CoreAPI
                -Api        
                    - bin
                    - scripts
                    - appspec.yml
                    - ...
            -Database
                - ...
    -Nuget
        - ...

构建后,我想创建一个 zip 文件,其中包含 "Project\Source\Base\CoreAPI\Api"

中的所有文件和文件夹

这是 buildspec.yml 中与工件相关的部分:

artifacts:
  files:   
    - '**/*'
name: "api-build-artifact"
base-directory: .\Source\Api\CoreAPI\Api

因此代码构建创建了一个 zip 文件,其中包含 "Source" 中的所有文件和文件夹,基本上它丢弃了 "base-directory".

我尝试了一些像这样的变体:

artifacts:
  files:   
    - '.\Source\Base\CoreAPI\Api\**\*'

但随后我得到一个文件夹结构为 Source\Base\CoreAPI\Api + 所有文件和文件夹的 zip,显然,代码部署失败,因为 "appspec.yml" 文件不在根文件夹中。

知道这里可能出了什么问题吗?

您在工件下的缩进是错误的。试试这个:

artifacts:
  files:   
    - '**/*'
  name: "api-build-artifact"
  base-directory: .\Source\Api\CoreAPI\Api
  discard-paths: yes

参考: https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html