AWS CodeBuild buildspec.yml递归获取所有文件和子文件夹

越南的

我正在尝试使用AWS CodeBuild将所有文件和子文件夹放在嵌套public文件夹中,并使用CodePipeline部署到S3存储桶。我能够将它们挂在一起,但是努力配置buildspec.yml文件以获取所需的输出。

我的文件夹结构:

<path>/public/

├── 404.html
├── css
│   ├── ...
├── fonts
│   ├── bootstrap
│   │   ├── ...
│   ├── icomoon
│   │   ├── icomoon
│   │   │   ├── ...
│   └── simple-line-icons
│       ├── ...
├── images
│   ├── ...
├── index.html
├── index.xml
├── js
│   ├── ...
└── tags
    └── index.xml

我需要将文件夹内的所有内容(包括子文件夹)public放入S3存储桶的根目录中。

到目前为止,我已经尝试在这里这里这里关注文档我试过使用:

  • **/*以便以递归方式将所有内容保存在文件夹中,public但S3存储桶将具有该文件夹的路径,因此index.html不在根目录中。
  • discard-paths: yes删除public文件夹的路径,但在S3存储桶中,所有文件都位于根目录中,不保留任何子文件夹结构。
  • base-directory:作为描述在这里
  • artifacts: secondary-artifacts: artifact1: files: - directory/file artifact2: files: - directory/file2 保持文件夹结构,但我的构建失败。
  • 上面所有语法的不同组合,但是我的构建失败了。
越南的

我想出了一种解决方法。我认为这不是最好的方法,但是它可以工作。我希望您可以找到此解决方案有用buildspec.yml

version: 0.2

phases:
  build:
    commands:
      - mkdir build-output
      - cp -R <path>/public/ build-output
  post_build:
    commands:
      - mv build-output/**/* ./
      - mv build-output/* ./
      - rm -R build-output *.yml LICENSE README* .git*
artifacts:
  files:
    - '**/*'

换句话说:

  • 我将嵌套<path>/public文件夹中的所有内容复制到名为的文件夹中./build-output

  • 然后,post_build将所有内容移出文件夹build-output

  • 删除从GitHub存储库中提取的文件,这些文件对于将静态网站托管在GitHub中是不需要的 S3 bucket

  • 然后,我得到想要的结果:带有正确的文件夹树public的根目录中的所有文件S3 bucket

更新:

  • 您也可以在这里使用我的buildspec.yml示例文件由于该示例超出了此问题的范围,因此我不会在此处粘贴代码。
  • 我在这里详细解释

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

AWS CodeBuild-在buildspec.yml中获取Webhook主体

AWS CodeBuild,buildspec.yml“错误替换”错误

为什么AWS CodeBuild buildspec.yml支持多个构建阶段?

AWS CodeBuild-如何在buildspec.yml中分配动态变量值?

如何将环境变量传递给buildspec.yml以进行AWS Codebuild

尝试使用Codebuild buildspec中的Shell脚本登录AWS跨账户时出现codebuild错误

当buildspec没有错误时,图像未从codebuild发送到ecr

AWS CodeBuild,未指定工件文件

如何设置时区 aws buildspec

适用于AWS CodeBuild的Brother / Sister文件夹中的Python相对导入

为什么我无法在 aws codebuild 上检索 composer 缓存文件夹目录?

如何使用buildspec.yml在AWS CodePipeline中从Dockerfile构建映像,然后推送到ECR?

即使在buildspec.yml中命令失败,AWS Build Project也会成功

带有子包的golang源的AWS CodeBuild失败

AWS CodeBuild工件处理

AWS CodeBuild GetAuthorizationToken失败

AWS CodeBuild彩色日志

AWS CodeBuild问题

获取java.net.SocketTimeoutException:AWS CodeBuild期间连接超时

获取适用于AWS CodeBuild的GitHub git分支

AWS CodeBuild和CodeCommit存储库为npm依赖项

推送提交和标记时 AWS Codebuild 未启动

带有Terraform的AWS Codebuild中的多个环境变量

如何在`~/.aws/config` 中生成 AWS 配置文件以在 CodeBuild 项目中使用

AWS CodeBuild GitHub部署密钥

无法创建AWS CodeBuild Webhook

Bitbucket Webhook到AWS CodeBuild

Github Webhook被AWS CodeBuild拒绝

如何将pem文件和其他机密传递到AWS CodeBuild?