本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将 GitHub 版本 1 的源操作更新为 GitHub 版本 2 的源操作
在中 Amazon CodePipeline,有两个支持的 GitHub 源操作版本:
-
推荐: GitHub 版本 2 操作使用由资源支持的基于 Github 应用程序的身份验证。CodeStarSourceConnection 适用于 Bitbucket Cloud GitHub、、 GitHub 企业服务器、 GitLab .com 和 GitLab 自我管理的操作它会在您的 GitHub 组织中安装 C AWS CodeStar onnections 应用程序,以便您可以管理中的访问权限 GitHub。
-
不推荐: GitHub 版本 1 操作使用 OAuth 令牌进行身份验证, GitHub 并使用单独的 webhook 来检测更改。这不再是建议方法。
注意
连接 CodePipeline 操作不适用于中国(北京)和中国(宁夏)区域。要参考其他可用操作,请参阅 产品和服务与 CodePipeline。
使用 GitHub 版本 2 操作而不是 GitHub 版本 1 操作有一些重要的优点:
-
通过连接, CodePipeline 不再需要 OAuth 应用程序或个人访问令牌来访问您的存储库。创建连接时,需要安装一个管理 GitHub 仓库身份验证并允许组织级别权限的 GitHub 应用程序。您必须以用户身份授权 OAuth 令牌访问存储库。有关基于 OAuth 的 GitHub 访问与基于应用程序 GitHub 的访问对比的更多信息,请参阅。https://docs.github.com/en/developers/apps/differences-between-github-apps-and-oauth-apps
-
当你在 CLI 或中管理 GitHub 版本 2 操作时 CloudFormation,你不必再将个人访问令牌作为密钥存储在 Secrets Manager 中。您不再需要在 CodePipeline 操作配置中动态引用存储的密钥。而是将连接 ARN 添加到操作配置中。有关示例操作配置,请参阅CodeStarSourceConnection 适用于 Bitbucket Cloud GitHub、、 GitHub 企业服务器、 GitLab .com 和 GitLab 自我管理的操作。
-
在创建用于 GitHub 版本 2 操作的连接资源时 CodePipeline,您可以使用相同的连接资源将其他支持的服务(例如 CodeGuru Reviewer)与您的存储库关联。
-
在 Github 版本 2 中,你可以克隆仓库以在后续 CodeBuild 操作中访问 git 元数据,而在 Github 版本 1 中,你只能下载源代码。
-
管理员将为组织的存储库安装应用程序。您不再需要跟踪依赖于创建令牌的个人的 OAuth 令牌。
安装到组织的所有应用程序都可以访问同一组存储库。要更改谁可访问每个存储库,请修改每个连接的 IAM 策略。有关示例,请参阅示例:将连接用于指定存储库的范围缩小策略。
您可以使用本主题中的步骤从 CodePipeline 控制台中删除 GitHub 版本 1 源操作并添加 GitHub 版本 2 源操作。
步骤 1:替换版本 1 的 GitHub 操作
使用管道编辑页面将您的版本 1 GitHub 操作替换为版本 2 GitHub 操作。
替换您的版本 1 GitHub 操作
-
登录 CodePipeline 控制台。
-
选择管道,然后选择编辑。在源阶段中,选择编辑阶段。将显示一条消息,建议您更新操作。
-
在操作提供者中,选择 GitHub (版本 2)。
-
请执行以下操作之一:
-
在 “连接” 下,如果您尚未创建与提供商的连接,请选择 “连接到” GitHub。继续步骤 2:创建与的连接 GitHub。
-
在连接下,如果您已创建到提供程序的连接,请选择该连接。继续执行步骤 3:保存连接的源操作。
-
步骤 2:创建与的连接 GitHub
选择创建连接后,将显示 “Connect t GitHub o” 页面。
要创建与的连接 GitHub
-
在 “GitHub 连接设置” 下,您的连接名称显示在 “连接名称” 中。
在 “GitHub 应用程序” 下,选择应用程序安装或选择 “安装新应用程序” 来创建一个。
注意
您可以为与特定提供程序的所有连接安装一个应用程序。如果您已经安装了该 GitHub 应用程序,请选择它并跳过此步骤。
-
如果 GitHub 显示的授权页面,请使用您的凭据登录,然后选择继续。
-
在应用程序安装页面上,一条消息显示该 AWS CodeStar 应用程序正在尝试连接到您的 GitHub 帐户。
注意
您只需为每个 GitHub 账户安装一次该应用程序。如果您之前已安装了应用程序,则可以选择配置,继续进入应用程序安装的修改页面,也可以使用后退按钮返回到控制台。
-
在安装 AWS CodeStar 页面上,选择安装。
-
在 “Connect t o GitHub” 页面上,将显示新安装的连接 ID。选择连接。
第 3 步:保存您的 GitHub 源代码操作
在编辑操作页面上完成更新以保存新的源操作。
保存您的 GitHub 源代码操作
-
在存储库中,输入第三方存储库的名称。在分支中,输入您希望管道在其中检测源更改的分支。
注意
在存储库中键入
owner-name/repository-name
,如以下示例所示:my-account/my-repository
-
在输出构件格式中,为构件选择格式。
-
要使用默认方法存储 GitHub 操作的输出对象,请选择CodePipeline 默认。该操作访问存储库中的文件,并将工件 GitHub 存储在管道工件存储区的 ZIP 文件中。
-
要存储包含存储库的 URL 引用的 JSON 文件,以便下游操作可以直接执行 Git 命令,请选择完全克隆。此选项只能由 CodeBuild 下游操作使用。
如果选择此选项,则需要更新 CodeBuild 项目服务角色的权限,如所示添加连接 Bitbucket、 GitHub、En GitHub terprise Server 或 GitLab .com 的 CodeBuild GitClone 权限。如需查看教程以了解如何使用完整克隆选项,请参阅教程:使用带有 GitHub 管道源的完整克隆。
-
-
在输出构件中,可以保留此操作的输出对象的名称,例如
SourceArtifact
。选择完成以关闭编辑操作页面。 -
选择完成以关闭阶段编辑页面。选择保存以关闭管道编辑页面。