使用CodeBuild,我编译我的SpringBoot应用程序并将生成的jar放在名为'
的文件夹中。我最后在"
提供:
deploy/
当我将其插入CodePipeline时,这会在S3中创建一个zip文件。但问题是,这个zip文件包含根文件夹,即buildspec.yml
。所以zip文件的结构是:
artifacts:
files:
- deploy/*
这导致CodeDeploy无法找到deploy
的问题,因为它没有在deploy文件夹中查找。我一直在努力克服这个问题,在构建过程结束时提供一个zip文件作为工件,但是在管道中它再次被拉链...
任何想法如何解决这个问题将非常感激。
答案 0 :(得分:2)
您可以在名为base-directory
的工件部分中添加一个新标志,以指定工件包的基本路径。这将允许您从工件中截断deploy/
路径,而不会丢失其下方的其余结构。
artifacts:
files:
- **/*
base-directory: deploy
http://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html
答案 1 :(得分:0)
您可以添加discard-paths: yes
artifacts:
files:
- deploy/*
discard-paths: yes
请记住,它会丢弃所有路径,包括子目录
来源:http://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html