教程:根据分支名称筛选拉取请求以启动管道(V2 类型) - Amazon CodePipeline
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

教程:根据分支名称筛选拉取请求以启动管道(V2 类型)

在本教程中,您将创建一个连接到 GitHub.com 存储库的管道,其中配置了源操作,以便通过筛选拉取请求的触发器配置启动管道。当指定分支发生指定的拉取请求事件时,管道就会启动。此示例向您演示如何创建一个可筛选分支名称的管道。有关使用触发器的更多信息,请参阅为推送和拉取请求事件类型添加筛选条件(CLI)。有关使用 glob 格式的正则表达式模式筛选的更多信息,请参阅使用语法中的 glob 模式

重要

作为创建管道的一部分,CodePipeline 将使用客户提供的 S3 构件存储桶来存放构件。(这与用于 S3 源操作的存储桶不同。) 如果 S3 构件存储桶所在的账户与您的管道账户不同,请确保 S3 构件存储桶归 Amazon Web Services 账户所有,并且安全可靠。

本教程通过 CodeStarSourceConnection 操作类型连接到 GitHub.com。

先决条件

在开始之前,您必须执行以下操作:

  • 使用您的 GitHub.com 账户创建 GitHub.com 存储库。

  • 准备好您的 GitHub 凭证。当您使用 Amazon Web Services 管理控制台 设置连接时,系统会要求您使用 GitHub 凭证登录。

步骤 1:创建一个管道,该管道在指定分支有拉取请求时启动

在此部分中,您将使用以下操作创建管道:

  • 与您的 GitHub.com 存储库和操作连接的源阶段。

  • Amazon CodeBuild 构建操作的构建阶段。

使用向导创建管道
  1. https://console.aws.amazon.com/codepipeline/ 登录 CodePipeline 控制台。

  2. 欢迎页面、入门页面或管道页面上,选择创建管道

  3. 步骤 1:选择创建选项页面上的创建选项下,选择构建自定义管道选项。选择下一步

  4. 步骤 2:选择管道设置管道名称中,输入 MyFilterBranchesPipeline

  5. 管道类型中,保留默认选择 V2。管道类型有不同的特点和价格。有关更多信息,请参阅 管道类型

  6. 服务角色中,选择新建服务角色

    注意

    如果您选择改为使用现有的 CodePipeline 服务角色,请确保您已将 codeconnections:UseConnection IAM 权限添加到您的服务角色策略。有关 CodePipeline 服务角色的说明,请参阅为 CodePipeline 服务角色添加权限

  7. 高级设置下,保留原定设置值。在构件存储中,选择默认位置以将默认构件存储(如指定为默认值的 Amazon S3 项目存储桶)用于为管道选择的区域中的管道。

    注意

    这不是源代码的源存储桶。这是管道的项目存储。每个管道都需要一个单独的构件存储,例如 S3 存储桶。

    选择下一步

  8. 步骤 3:添加源阶段页面上,添加源阶段:

    1. 源提供程序中,选择 GitHub(通过 GitHub 应用程序)

    2. 连接下,选择一个现有连接或创建一个新连接。要创建或管理 GitHub 源操作的连接,请参阅GitHub 连接

    3. 存储库名称中,选择 GitHub.com 存储库的名称。

    4. 触发器类型下,选择指定筛选条件

      事件类型下,选择拉取请求。选择拉取请求下的所有事件,以便事件发生在创建、更新或关闭的拉取请求中。

      分支下的包含字段中,输入 main*

      该图显示了在事件类型为“拉取请求”的触发器中选择了“包含”分支选项,其值为 main*
      重要

      使用此触发器类型启动的管道配置为使用 WebhookV2 事件,而不会使用 Webhook 事件(对所有推送事件进行更改检测)来启动管道。

    选择下一步

  9. 步骤 4:添加构建阶段构建提供程序中,选择 Amazon CodeBuild。允许区域默认为管道区域。按照教程:使用 Git 标签启动管道中的说明选择或创建构建项目。此操作仅在本教程中用作创建管道所需的第二阶段。

  10. 步骤 5:添加测试阶段中,选择跳过测试阶段,并通过再次选择跳过接受警告消息。

    选择下一步

  11. 步骤 6:添加部署阶段页面上,选择跳过部署阶段,并通过再次选择跳过接受警告消息。选择下一步

  12. 步骤 7:审核中,选择创建管道

步骤 2:在 GitHub.com 中创建并合并拉取请求以启动管道执行

在本节中,您将创建并合并一个拉取请求。这将启动您的管道,针对打开的拉取请求执行一次,针对关闭的拉取请求执行一次。

创建拉取请求并启动管道
  1. 在 GitHub.com 中,通过更改功能分支上的 README.md 并向 main 分支提出拉取请求来创建拉取请求。提交更改,并带类似 Update README.md for PR 的消息。

  2. 管道从源修订开始,将拉取请求的消息显示为 Update README.md for PR

    该图显示了拉取请求的源消息,其中包含以下文本:Update README.md for PR
  3. 选择 History (历史记录)。在管道执行历史记录中,查看启动管道执行的 CREATED 和 MERGED 拉取请求状态事件。

    该图显示了管道执行历史记录,其中显示了启动管道执行的 CREATED 和 MERGED 拉取请求状态事件