代码之家  ›  专栏  ›  技术社区  ›  Alex R

CodePipeline失败,显示“操作失败,因为找不到工件或Amazon S3存储桶。”

  •  0
  • Alex R  · 技术社区  · 5 年前

    我有以下管道定义:

      Pipeline:
        Type: 'AWS::CodePipeline::Pipeline'
        Properties:
           Name: !Ref AppName
           RoleArn: {"Fn::GetAtt" : ["PipelineServiceRole", "Arn"] }
           ArtifactStore:
              Type: S3
              Location: !Ref ArtifactBucket
           Stages: 
            - 
              Name: Source
              Actions: 
                - 
                  Name: SourceAction
                  ActionTypeId: 
                    Category: Source
                    Owner: AWS
                    Version: 1
                    Provider: S3
                  OutputArtifacts: 
                    - Name: "PipelineArtifact"
                  Configuration: 
                    S3Bucket: !Ref ArtifactBucket
                    S3ObjectKey: !Ref ArtifactName
                    PollForSourceChanges: true
                  RunOrder: 1
            - 
              Name: Deploy
              Actions: 
                - 
                  Name: DeployAction
                  ActionTypeId: 
                    Category: Deploy
                    Owner: AWS
                    Version: 1
                    Provider: ElasticBeanstalk
                  InputArtifacts: 
                    - Name: "PipelineArtifact"
                  Configuration:
                    ApplicationName: !Ref EbApplication
                    EnvironmentName: !Ref EbEnvironment
    

    源阶段已成功完成,但在部署阶段出现以下错误:

    Error Message

    我已经检查了工件是否在S3中的预期位置,以及PipelineServiceRole是否具有完全权限(字面意思是 */* ).

    是什么导致了这个错误?

    0 回复  |  直到 5 年前
        1
  •  1
  •   Alex R    5 年前

    For Provider: ElasticBeanstalk ,the S3ObjectKey 必须指向a .zip 文件。

    (不,a .jar 不会工作)