将 GitHub(通过 OAuth 应用程序)源操作更新为 GitHub(通过 GitHub 应用程序)源操作 - Amazon CodePipeline
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

将 GitHub(通过 OAuth 应用程序)源操作更新为 GitHub(通过 GitHub 应用程序)源操作

在 Amazon CodePipeline 中,GitHub 源操作有两个支持版本:

注意

CodePipeline 连接操作在中国(北京)和中国(宁夏)区域不可用。要参考其他可用操作,请参阅 与 CodePipeline 的产品和服务集成

使用 GitHub(通过 GitHub 应用程序)操作代替 GitHub(通过 OAuth 应用程序)操作有一些重要的优点:

  • 通过连接,CodePipeline 不再需要 OAuth 应用程序或个人访问令牌来访问您的存储库。创建连接时,将安装一个 GitHub 应用程序以管理对 GitHub 存储库的身份验证,并允许组织级别权限。您必须以用户身份授权 OAuth 令牌访问存储库。有关基于 OAuth 的 GitHub 访问与基于应用的 GitHub 访问对比的更多信息,请参阅 https://docs.github.com/en/developers/apps/differences-between-github-apps-and-oauth-apps

  • 在 CLI 或 CloudFormation 中管理 GitHub(通过 GitHub 应用程序)操作时,不再需要将个人访问令牌作为密钥存储在 Secrets Manager 中。不再需要在 CodePipeline 操作配置中动态引用存储的密钥。而是将连接 ARN 添加到操作配置中。有关示例操作配置,请参阅CodeStarSourceConnection(适用于 Bitbucket Cloud, GitHub、GitHub Enterprise Server、GitLab.com 和 GitLab 自托管操作)

  • 在 CodePipeline 中创建用于 GitHub(通过 GitHub 应用程序)操作的连接资源时,可以使用相同的连接资源将其他支持的服务(例如 CodeGuru Reviewer)与存储库相关联。

  • 在 Github(通过 GitHub 应用程序)中,可以克隆存储库以在后续 CodeBuild 操作中访问 git 元数据,而在 Github(通过 OAuth 应用程序)中,只能下载源。

  • 管理员将为组织的存储库安装应用程序。您不再需要跟踪依赖于创建令牌的个人的 OAuth 令牌。

安装到组织的所有应用程序都可以访问同一组存储库。要更改谁可访问每个存储库,请修改每个连接的 IAM 策略。有关示例,请参阅示例:将连接用于指定存储库的范围缩小策略

可以使用本主题中的步骤从 CodePipeline 控制台删除 GitHub(通过 OAuth 应用程序)源操作,并添加 GitHub(通过 GitHub 应用程序)源操作。

步骤 1:替换 GitHub(通过 OAuth 应用程序)操作

使用管道编辑页面将您的 GitHub(通过 OAuth 应用程序)操作替换为 GitHub [(通过 GitHub 应用程序)] 操作。

替换 GitHub(通过 OAuth 应用程序)操作
  1. 登录 CodePipeline 控制台。

  2. 选择管道,然后选择编辑。在源阶段中,选择编辑阶段。将显示一条消息,建议您更新操作。

  3. 操作提供程序中,选择 GitHub(通过 GitHub 应用程序)

  4. 请执行以下操作之一:

    • 连接下,如果您尚未创建到提供程序的连接,请选择连接到 GitHub。继续执行步骤 2:创建到 GitHub 的连接。

    • 连接下,如果您已创建到提供程序的连接,请选择该连接。继续执行步骤 3:保存连接的源操作。

步骤 2:创建到 GitHub 的连接

选择创建连接后,将显示连接到 GitHub 页面。

创建到 GitHub 的连接
  1. GitHub 连接设置下,您的连接名称将显示在连接名称中。

    GitHub 应用程序下,选择一个应用程序安装或选择安装新应用程序来创建一个应用程序安装。

    注意

    您可以为与特定提供程序的所有连接安装一个应用程序。如果您已安装 GitHub 应用程序,选择它并跳过此步骤。

  2. 如果显示 GitHub 授权页面,请使用您的凭证登录,然后选择继续。

  3. 在应用程序安装页面上,将显示一条消息,表明 AWS CodeStar 应用程序正在尝试连接到您的 GitHub 账户。

    注意

    您只为每个 GitHub 账户安装一次应用程序。如果您之前已安装了应用程序,则可以选择配置,继续进入应用程序安装的修改页面,也可以使用后退按钮返回到控制台。

  4. 安装 AWS CodeStar 页面上,选择安装

  5. 连接到 GitHub 页面上,将显示新安装的连接 ID。选择连接

步骤 3:保存 GitHub 源操作

编辑操作页面上完成更新以保存新的源操作。

保存 GitHub 源操作
  1. 存储库中,输入第三方存储库的名称。在分支中,输入您希望管道在其中检测源更改的分支。

    注意

    存储库中键入 owner-name/repository-name,如以下示例所示:

    my-account/my-repository
  2. 输出构件格式中,为构件选择格式。

  3. 输出构件中,可以保留此操作的输出对象的名称,例如 SourceArtifact。选择完成以关闭编辑操作页面。

  4. 选择完成以关闭阶段编辑页面。选择保存以关闭管道编辑页面。