amazon-web-services - AWS CodePipeline 操作执行失败

标签 amazon-web-services github aws-code-deploy aws-codepipeline

我正在尝试将我的 GitHub 存储库与 S3 Hook ,因此每次提交时,AWS CodePipeline 都会部署 ./<path>/public文件夹到指定的 S3 bucket .

到目前为止,在我的管道中,Source有效(连接到 GitHub 并获取新的提交)但是 Deploy失败,因为:Action execution failed BundleType must be either YAML or JSON .

我是这样设置的:

代码流水线

  • 操作名称:来源
  • 操作提供者:GitHub
  • 存储库:帐户/存储库
  • 部门:硕士
  • GitHub 网络 Hook

代码部署

  • 计算类型:AWS Lambda
  • 服务角色:myRole
  • 部署设置:CodeDeployDefault.LambdaAllAtOnce

IAM 角色:我的角色

  • AWS 服务
  • 选择将使用此角色的服务:Lambda/CodeDeploy
  • 选择您的用例:CodeDeploy
  • 策略:AWSCodeDeployRole

我知道必须有一个 buildspec.yml根文件夹中的文件。我试过使用一些我能找到的文件,但它们似乎不起作用。我做错了什么或者我应该如何编辑 buildspec文件来做我想做的事?

Update

感谢@Milan Cermak。我明白我需要做的:

代码流水线:

  • 第 1 阶段:来源: Hook GitHub 存储库。这个正在工作。
  • 第 2 阶段:构建:使用 CodeBuild 使用 buildspec.yml 仅获取所需的文件夹文件在 repo 的根文件夹中。
  • 第 3 阶段:部署:使用
Action Provider: S3
Input Artifacts: OutputArtifacts (result of stage 2).
Bucket: the bucket that hosts the static website.

CodePipeline 有效。但是,输出仅包含文件 (.html),不包含嵌套在公用文件夹中的文件夹。

我检查过 this并想出了如何使用 discard-paths: yes 删除嵌套文件夹的路径但我无法获取 ./<path>/public 中的所有子文件夹文件夹。有什么建议吗?

最佳答案

CodeBuild 使用 buildspec,但 CodeDeploy 使用 appspec。

有appspec文件吗?

关于amazon-web-services - AWS CodePipeline 操作执行失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54468187/

相关文章:

GitHub无法重新建立我的功能分支: "This branch cannot be rebased due to conflicts"

amazon-web-services - 我可以设置 AWS CodeDeploy 的用户吗?

amazon-web-services - 如何使用 Cloudformation Pipeline YAML 模板中的 v2 配置与 GitHub 的连接?

amazon-web-services - AWS EC2 UserData 脚本不会在 t3 实例上触发

python - 在 AWS 上使用 Tornado 托管 Bokeh 服务器

python - 在 AWS Glue Python Shell 中查询 Athena 表

使用 github 和 vps 进行开发和生产的 Git 流程

git - 为什么 Github 仓库没有 "clone"选项?

amazon-web-services - s3 预签名 url 多部分表单数据上传错误 :signature does not match

linux - AWS EC2 权限被拒绝/usr/local/bin cURL