【问题标题】:Code build artifacts are not packed correctly代码构建工件未正确打包
【发布时间】:2019-12-20 07:33:22
【问题描述】:

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

这是我的文件夹结构:

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

构建后,我想创建一个包含“Project\Source\Base\CoreAPI\Api”中所有文件和文件夹的 zip 文件

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

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

结果代码构建创建了一个包含“源”中所有文件和文件夹的 zip 文件,基本上它丢弃了“基本目录”。

我尝试了一些类似的变体:

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

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

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

【问题讨论】:

    标签: c# amazon-web-services aws-code-deploy aws-codepipeline aws-codebuild


    【解决方案1】:

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

    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

    【讨论】:

    • 没错。非常感谢你。 Notepad ++ 自动格式化 yml 文件,并且基本目录不在工件下。没注意,再次感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多