gpt4 book ai didi

amazon-web-services - 如何在 AWS CodeBuild cloudformation 模板中设置分支筛选器选项?

转载 作者:行者123 更新时间:2023-12-04 01:13:05 25 4
gpt4 key购买 nike

如果使用 Github 存储库作为 CodeBuild 项目中的源,则 Branch Filter 选项允许仅针对名称与特定正则表达式匹配的分支运行构建。

  1. AWS 管理控制台

在 AWS 管理控制台中,您可以在创建或编辑 CodeBuild 项目时配置分支过滤器:

AWS console

  • AWS CLI
  • 对于 awscli 存在一个选项 --update-webhook (记录为 here )

        $ aws codebuild update-webhook --project-name myproject --branch-filter ^master$
  • 云形成
  • 在 CodeBuild cloudformation 模板中存在一个选项 Triggers > Webhook (记录为 here ),但此选项只是一个 bool 值,用于简单启用/禁用 github webhook。

    Resources:
    MyCodeBuildProject:
    Type: AWS::CodeBuild::Project
    Properties:
    Name: myproject
    ...
    Triggers:
    Webhook: true

    所以我的问题是,如何直接在 cloudformation 模板中定义分支过滤器,而无需随后执行 awscli 命令或使用 AWS 管理控制台?

    最佳答案

    您可以尝试使用 AWS CodePipeline

            Stages:
    -
    Name: "Source"
    Actions:
    -
    Name: "Checkout"
    ActionTypeId:
    Category: "Source"
    Owner: "ThirdParty"
    Provider: "GitHub"
    Version: "1"
    Configuration:
    Owner: !Ref "UsernameOrOrg"
    Repo: !Ref "ProjectName"
    Branch: "master"
    OAuthToken: !Ref "GitHubOAuthToken"
    OutputArtifacts:
    -
    Name: "checkout"
    -
    Name: "Build"
    Actions:
    -
    Name: "Build"
    ActionTypeId:
    Category: "Build"
    Owner: "AWS"
    Provider: "CodeBuild"
    Version: "1"
    Configuration:
    ProjectName: !Ref "BuildProject"
    InputArtifacts:
    -
    Name: "checkout"

    然后您只需使用 CodePipeline 集成定义您的 CodeBuild 项目即可:

    BuildProject:
    Type: "AWS::CodeBuild::Project"
    Properties:
    ...
    Artifacts:
    Type: "CODEPIPELINE"
    Source:
    Type: "CODEPIPELINE"

    关于amazon-web-services - 如何在 AWS CodeBuild cloudformation 模板中设置分支筛选器选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50857928/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com