使用AWS S3和CodePipeline自动化Angular 7应用程序部署

问题描述 投票:0回答:1

我在AWS S3存储桶上托管了一个角度为7的应用程序作为静态网站,现在想要在我的github存储库更新时自动部署更新的版本。

我希望较新版本的文件替换s3存储桶中先前版本的文件。这是我如何去做

我有一个buildspec文件

version: 0.2

phases:
  install:
    commands:
      # install dependencies
      - echo Installng source NPM dependencies...
      - npm install npm@latest -g
      - npm install -g @angular/cli

  pre_build:
    commands:
      - echo Prebuild steps
      - npm install

  build:
    commandS:
      # build angular app
      - echo Build started on `date`
      - ng build

  post_build:
    commands:
      # clear S3 bucket
      - aws s3 rm s3://${S3_BUCKET} --recursive
      - echo S3 bucket cleared
      # copy files from dist folder into S3 bucket
      - aws s3 cp dist s3://${S3_BUCKET} --recursive
      - echo Build completed on `date`

当代码管道运行时,进程在post_build失败,如此处的日志所示

[Container] 2019/04/11 10:33:49运行命令aws s3 rm s3:// $ {S3_BUCKET} --recursive /usr/local/lib/python2.7/dist-packages/urllib3/util/ssl_。 py:354:SNIMissingWarning:已发出HTTPS请求,但此平台上没有TLS的SNI(服务器名称指示)扩展。这可能导致服务器显示错误的TLS证书,这可能导致验证失败。您可以升级到较新版本的Python来解决此问题。有关更多信息,请参阅https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings SNIMissingWarning delete failed:s3://trips9ja-admin/3rdpartylicenses.txt调用DeleteObject操作时发生错误(AccessDenied):访问被拒绝删除失败:s3:// trips9ja-admin / Trips9jaPipeline / SourceArti / FyvYEvb.zip调用DeleteObject操作时发生错误(AccessDenied):访问被拒绝删除失败:s3://trips9ja-admin/assets/bus.png调用DeleteObject操作时发生错误(AccessDenied):访问被拒绝

这就是我被卡住的地方。那么我做错了什么,错误意味着什么?

我有一个S3存储桶策略,允许像这样的代码构建访问

{
            "Sid": "CodeBuildPermision",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::735681810231:role/service-role/codebuild-service-role"
            },
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::<bucket name>"
        }
angular amazon-web-services amazon-s3 aws-codebuild
1个回答
0
投票

解决了这个问题,在S3存储桶策略的"Resource"中添加了另一行,允许访问存储桶的所有内容,如"Resource": ["arn:aws:s3:::<bucket name>", "arn:aws:s3:::<bucket name>/*"]

© www.soinside.com 2019 - 2024. All rights reserved.