将 AWS CodeCommit 与 Visual Studio Team Explorer 配合使用 - AWS Toolkit with Amazon Q

将 AWS CodeCommit 与 Visual Studio Team Explorer 配合使用

您可以使用 AWS Identity and Access Management(IAM)用户账户创建 Git 凭证,并使用该凭证在 Team Explorer 中创建和克隆存储库。

AWS CodeCommit 的凭证类型

大多数 AWS Toolkit for Visual Studio 用户了解如何设置包含自己的访问密钥和秘密密钥的 AWS 凭证配置文件。这些凭证配置文件用于在 Toolkit for Visual Studio 中实现对服务 API 的调用,例如,在 AWS 各区服务浏览器中列出 Amazon S3 桶或者启动 Amazon EC2 实例。AWS CodeCommit 与 Team Explorer 的集成也使用这些凭证配置文件。但是,要使用 Git 本身,您需要额外的凭证,特别是用于 HTTPS 连接的 Git 凭证。有关这些凭证(用户名和密码)的信息,请参阅《AWS CodeCommit User Guide》中的 Setup for HTTPS Users Using Git Credentials

您只能为 IAM 用户账户创建用于 AWS CodeCommit 的 Git 凭证。您不能为根账户创建这些凭证。您最多可以为服务创建两组这样的凭证,虽然您可以将一组凭证标记为不活动,但仍会计入您的两组凭证的限制中。请注意,您可以随时删除和重新创建凭证。当您在 Visual Studio 中使用 AWS CodeCommit 时,您的传统 AWS 凭证用于处理服务本身,例如,在您创建和列出存储库时。使用托管在 AWS CodeCommit 中的实际 Git 存储库时,您使用 Git 凭证。

作为对 AWS CodeCommit 支持的一部分,Toolkit for Visual Studio 会自动为您创建和管理这些 Git 凭证并将其关联到您的 AWS 凭证配置文件。您无需担心手头必须有一组合适的凭证在 Team Explorer 中执行 Git 操作。一旦您使用 AWS 凭证配置文件连接到 Team Explorer,关联的 Git 凭证将在您使用 Git remote 时自动使用。

将 连接到 AWS CodeCommit

当您在 Visual Studio 2015 或更高版本中打开 Team Explorer 窗口时,您将在“Manage Connections”的“Hosted Service Providers”中看到 AWS CodeCommit 条目。

“管理连接”中的 AWS CodeCommit 条目

选择注册将在浏览器窗口中打开 Amazon Web Services 主页。选择连接时将发生的情况,取决于 Toolkit for Visual Studio 是否能够找到含有 AWS 访问密钥和秘密密钥的凭证配置文件以使其可以代表您调用 AWS。您可能使用在 IDE 中显示的新“开始使用”页面设置了凭证配置文件,这会使 Toolkit for Visual Studio 找不到任何存储在本地的凭证。或者,您可能已使用过 Toolkit for Visual Studio、AWS Tools for Windows PowerShell 或 AWS CLI,在这种情况下,您已经有了可供 Toolkit for Visual Studio 使用的 AWS 凭证配置文件。

在您选择连接时,Toolkit for Visual Studio 启动流程来查找在连接中使用的凭证配置文件。如果 Toolkit for Visual Studio 找不到凭证配置文件,将打开一个对话框,邀请您输入您的 AWS 账户的访问密钥和秘密密钥。强烈建议您使用 IAM 用户账户而非使用您的根凭证。此外,如前文所述,只能为 IAM 用户创建您最终需要的 Git 凭证。提供访问密钥和秘密密钥并创建凭证配置文件之后,Team Explorer 和 AWS CodeCommit 之间的连接已可供使用。

如果 Toolkit for Visual Studio 找到多个 AWS 凭证配置文件,系统将提示您选择要在 Team Explorer 中使用的账户。

选择 AWS 凭证配置文件

如果您只有一个凭证配置文件,Toolkit for Visual Studio 将绕过配置文件选择对话框,您将立即连接:

在 Team Explorer 与 AWS CodeCommit 之间通过凭证配置文件建立连接时,将关闭邀请对话框并显示连接面板。

AWS CodeCommit 连接面板

由于您没有本地克隆的存储库,面板只显示您可以执行的操作:Clone (克隆)Create (创建)Sign out (注销)。与其他提供程序一样,Team Explorer 中的 AWS CodeCommit 在任意时间只能绑定到一个 AWS 凭证配置文件。要切换账户,您可以使用 Sign out (注销) 删除连接,以便您使用不同账户启动新的连接。

现在,您已建立了连接,您可以通过单击 Create (创建) 链接创建存储库。

创建存储库

当您单击创建链接时,将打开创建新 AWS CodeCommit 存储库对话框。

创建新 AWS CodeCommit 存储库

AWS CodeCommit 存储库按区域排列,因此您可以在 Region (区域) 中选择在哪个区域中托管存储库。列表中有 AWS CodeCommit 支持的所有区域。您为新存储库提供名称 (必需) 和说明 (可选)。

对话框的默认行为是使用存储库名称 (您输入的名称,同时更新文件夹位置) 作为新存储库文件夹位置的后缀。要使用不同的文件夹名称,请在完成输入存储库名称后编辑 Clone into (克隆到) 文件夹路径。

您还可以选择自动为存储库创建初始 .gitignore 文件。AWS Toolkit for Visual Studio 为 Visual Studio 文件类型提供了内置的默认值。您还可以选择没有文件,或者使用您希望在各个存储库中重用的自定义现有文件。只需在列表中选择 Use custom (使用自定义) 并导航到要使用的自定义文件。

在您有了存储库的名称和位置之后,您可以单击 OK (确定) 并开始创建存储库。Toolkit for Visual Studio 请求服务创建存储库,然后本地克隆新的存储库,添加 .gitignore 文件的初始提交(如果您使用该文件)。此时您开始使用 Git remote,因此 Toolkit for Visual Studio 现在需要访问之前所述的 Git 凭证。

设置 Git 凭证

到目前为止,您已使用 AWS 访问密钥和秘密密钥请求服务创建您的存储库。现在,您需要使用 Git 本身执行实际克隆操作,而 Git 无法使用 AWS 访问密钥和秘密密钥。因此您需要向 Git 提供用户名和密码凭证以在 HTTPS 连接上使用 remote。

如设置 Git 凭证中所述,您将使用的 Git 凭证必须与 IAM 用户关联。您不能为根凭证生成它们。设置 AWS 凭证配置文件时,务必在其中包含 IAM 用户访问密钥和秘密密钥,而不是根密钥。Toolkit for Visual Studio 可以尝试为您设置用于 AWS CodeCommit 的 Git 凭证,并将该凭证与您之前用来在 Team Explorer 中进行连接的 AWS 凭证配置文件关联起来。

当您在创建新 AWS CodeCommit 存储库对话框中选择确定并成功创建了存储库时,Toolkit for Visual Studio 会检查在 Team Explorer 中连接的 AWS 凭证配置文件,以确定用于 AWS CodeCommit 的 Git 凭证是否存在并与配置文件本地关联。如果两个条件均满足,则 Toolkit for Visual Studio 指示 Team Explorer 开始在新存储库上的克隆操作。如果 Git 凭证在本地不可用,则 Toolkit for Visual Studio 会检查在 Team Explorer 的连接中使用的账户凭证的类型。如果该凭证用于 IAM 用户 (就像我们建议的那样),则将显示以下消息。

创建 Git 凭证

如果凭证是根凭证,将会改为显示以下消息。

创建使用 AWS CodeCommit 凭证的 IAM 用户

在这两种情况下,Toolkit for Visual Studio 都会提出尝试完成操作来为您创建必需的 Git 凭证。在第一种情况下,所有需要创建的是 IAM 用户的一组 Git 凭证。在使用根账户的情况下,Toolkit for Visual Studio 首先尝试创建一个 IAM 用户,然后继续为该新用户创建 Git 凭证。如果 Toolkit for Visual Studio 需要创建新用户,则会将 AWS CodeCommit 高级用户托管策略应用到该新用户账户。此策略只允许访问 AWS CodeCommit 并允许使用 AWS CodeCommit 执行除了存储库删除之外的所有操作。

在您创建凭证时,您只能查看一次凭证。因此,Toolkit for Visual Studio 提示您将新创建的凭证另存为 .csv 文件,然后再继续。

保存 AWS CodeCommit 凭证

这是我们强烈建议的操作,并确保将它们保存到安全位置!

在有些情况下,Toolkit for Visual Studio 可能无法自动创建凭证。例如,您创建的用于 AWS CodeCommit 的 Git 凭证组数量已达上限(两个),或者您可能没有足够的编程权限让 Toolkit for Visual Studio 为您完成工作(如果您以 IAM 用户身份登录)。在这些情况下,您可以登录 AWS 管理控制台管理凭证或从管理员处获取这些凭证。然后,您可以在 Toolkit for Visual Studio 显示的用于 AWS CodeCommit 的 Git 凭证对话框中输入它们。

用于 AWS CodeCommit 的 Git 凭证

现在 Git 的凭证已可用,新存储库的克隆操作将继续 (请查看 Team Explorer 中操作的进度指示)。如果您选择应用默认 .gitignore 文件,则会使用注释“Initial Commit”将其提交到存储库。

这是在 Team Explorer 中设置凭证和创建存储库所需的全部操作。一旦准备好所需的凭证,以后您在创建新存储库时就只会看到创建新 AWS CodeCommit 存储库对话框本身。

克隆存储库

要克隆现有存储库,请返回到 Team Explorer 中 AWS CodeCommit 的连接面板。单击克隆链接以打开克隆 AWS CodeCommit 存储库对话框,然后选择要克隆的存储库以及您要在磁盘上放置该存储库的位置。

克隆 AWS CodeCommit 存储库

选择区域后,Toolkit for Visual Studio 将查询服务以发现该区域中可用的存储库,并将其显示在对话框的中央列表部分。还将显示每个存储库的名称和可选说明。您可以重新排序列表,将其按存储库名称或上次修改日期,以升序或降序排序。

在您选择存储库之后,您可以选择要克隆到的位置。这会默认为在 Team Explorer 中其他插件使用的相同存储库位置,不过您可以浏览或输入任何其他位置。默认情况下,存储库名称作为后缀添加到选定的路径。但是,如果您希望使用特定路径,只需在选择文件夹之后编辑文本框。单击 OK (确定) 时文本框中的任何文本将成为文件夹,您可在其中查找克隆的存储库。

选择了存储库和文件夹位置之后,您可以单击 OK (确定) 以继续克隆操作。就像创建存储库一样,您可以在 Team Explorer 中查看报告的克隆操作进度。

使用存储库

当您克隆或创建存储库时,请注意在 Team Explorer 中连接面板的操作链接下列出的本地存储库的连接。这些条目为您提供了一种简便的方法访问存储库以浏览内容。只需右键单击存储库并选择 Browse in Console (在控制台中浏览)

在控制台中浏览

您也可以使用 Update Git Credentials (更新 Git 凭证) 更新与凭证配置文件关联的已存储 Git 凭证。如果您已轮换凭证,这非常有用。该命令将打开用于 AWS CodeCommit 的 Git 凭证对话框,您可以在其中输入或导入新凭证。

存储库上的 Git 操作均按您的预期工作。您可以发出本地提交,并在准备好共享时,使用 Team Explorer 中的“Sync”选项。由于 Git 凭证已存储在本地并与我们的已连接 AWS 凭证配置文件关联,系统不会提示我们再次为 AWS CodeCommit remote 操作提供凭证。