Amazon cloudformation 设置CodePipeline模板以从CodeCommit部署CloudFormation堆栈

Amazon cloudformation 设置CodePipeline模板以从CodeCommit部署CloudFormation堆栈,amazon-cloudformation,aws-codepipeline,aws-codecommit,Amazon Cloudformation,Aws Codepipeline,Aws Codecommit,从CloudFormation模板中,您可以部署和部署。从 现在,您可以在使用AWS CodePipeline构建的发布工作流中选择AWS CloudFormation作为部署操作 我已经计算出了Cloudformation模板的大部分内容,但我无法计算出各个阶段 Resources: PipelineRepo: Type: AWS::CodeCommit::Repository Properties: RepositoryName: pipeline

从CloudFormation模板中,您可以部署和部署。从

现在,您可以在使用AWS CodePipeline构建的发布工作流中选择AWS CloudFormation作为部署操作

我已经计算出了Cloudformation模板的大部分内容,但我无法计算出各个阶段

Resources:
  PipelineRepo:
    Type: AWS::CodeCommit::Repository
    Properties:
      RepositoryName: pipeline
      RepositoryDescription: Pipeline setup repo

  PipelineArtifacts:
    Type: AWS::S3::Bucket

  PipelineRole:
    Type: AWS::IAM::Role

  Pipeline:
    Type: AWS::CodePipeline::Pipeline
    Properties:
      Name: pipeline-pipeline
      ArtifactStore:
        Type: S3
        Location:
          Ref: PipelineArtifacts
      RoleArn:
        Ref: PipelineRole
      Stages:
        ... STAGES ...
如何设置跟踪CodeCommit的阶段,然后从repo中的文件部署CloudFormation模板?

IAM的角色也被打破了。下面是一个正常工作的堆栈。有关各种类型的CF部署,请参阅。下面是一个有用的CF堆栈示例

IAM的角色也被打破了。下面是一个正常工作的堆栈。有关各种类型的CF部署,请参阅。下面是一个有用的CF堆栈示例


${StackConfig}
${TemplateFileName}
是否是Git repo中的路径?StackConfig=params文件,TemplateFileName=yaml模板在repo中。这些是作为参数传递的。
服务员遇到终端故障状态:FAILED。原因:需要capabilities:[CAPABILITY_IAM]
From,
您需要将“-capabilities-CAPABILITY_IAM”参数添加到您的命令。
${StackConfig}
${TemplateFileName}
作为报告中Git repo?StackConfig=params文件和TemplateFileName=yaml模板的路径。这些是作为参数传递的。
服务员遇到终端故障状态:FAILED。原因:需要功能:[CAPABILITY\u IAM]
From,
您需要将“-capabilities CAPABILITY\u IAM”参数添加到您的命令中。
Resources:
  PipelineRepo:
    Type: AWS::CodeCommit::Repository
    Properties:
      RepositoryName: pipeline
      RepositoryDescription: Pipeline setup repo

  PipelineArtifacts:
    Type: AWS::S3::Bucket

  PipelineRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: 2012-10-17
        Statement:
          - Effect: Allow
            Principal:
              Service:
                - codepipeline.amazonaws.com
                - cloudformation.amazonaws.com
            Action: sts:AssumeRole
      Policies:
        - PolicyName: CloudPipelinePolicy
          PolicyDocument:
            Version: 2012-10-17
            Statement:
              - Effect: Allow
                Action: "cloudformation:*"
                Resource: "*"
              - Effect: Allow
                Action: "codecommit:*"
                Resource: "*"
              - Effect: Allow
                Action: "s3:*"
                Resource: "*"
              - Effect: Allow
                Action:
                  - iam:PassRole
                Resource: "*"

  Pipeline:
    Type: AWS::CodePipeline::Pipeline
    Properties:
      Name: pipeline-pipeline
      ArtifactStore:
        Type: S3
        Location:
          Ref: PipelineArtifacts
      RoleArn: !GetAtt [PipelineRole, Arn]
      Stages:
        -
          Name: Source
          Actions:
            -
              Name: CheckoutSourceTemplate
              ActionTypeId:
                Category: Source
                Owner: AWS
                Version: 1
                Provider: CodeCommit
              Configuration:
                PollForSourceChanges: True
                RepositoryName: !GetAtt [PipelineRepo, Name]
                BranchName: master
              OutputArtifacts:
                - Name: TemplateSource
              RunOrder: 1
        -
          Name: Deploy
          Actions:
            -
              Name: CreateStack
              ActionTypeId:
                Category: Deploy
                Owner: AWS
                Provider: CloudFormation
                Version: 1
              InputArtifacts:
                - Name: TemplateSource
              Configuration:
                ActionMode: CREATE_UPDATE
                RoleArn: !GetAtt [PipelineRole, Arn]
                StackName: pipeline
                Capabilities: CAPABILITY_IAM
                TemplatePath: TemplateSource::template.yml
              RunOrder: 1