

亚马逊 CodeCatalyst 不再向新买家开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [如何从中迁移 CodeCatalyst](migration.md)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 开始使用 CodeCatalyst 源存储库和单页应用程序蓝图
<a name="source-getting-started"></a>

按照本教程中的步骤学习如何在 Amazon 中使用源存储库 CodeCatalyst。

要开始使用 Amazon 中的源存储库，最快的方法 CodeCatalyst 是使用模板创建项目。使用模板创建项目时，系统会为您创建资源，包括其中含有示例代码的源存储库。您可以使用此存储库和代码示例来了解如何执行以下操作：
+ 查看项目的源存储库并浏览其内容
+ 创建一个带有新分支的开发环境，在其中开发代码
+ 更改文件，提交并推送更改内容
+ 创建拉取请求，并与其他项目成员一起审查代码更改
+ 查看自动构建和测试拉取请求源分支中的更改的项目工作流
+ 将源分支中的更改合并到目标分支，并关闭拉取请求
+ 查看自动构建和部署的合并更改

要充分学习本教程的内容，请邀请他人加入您的项目，以便共同完成拉取请求。您还可以在中探索其他功能 CodeCatalyst，例如创建议题并将其与拉取请求关联，或者配置通知并在关联的工作流程运行时收到提醒。有关全面的探索 CodeCatalyst，请参阅[入门教程](getting-started-topnode.md)。

## 使用蓝图创建项目
<a name="source-getting-started-proj-create"></a>

要协同工作，首先要创建项目。您可以使用蓝图来创建项目，这还会创建一个包含示例代码的源存储库和一个工作流，当您更改代码时，工作流会自动构建和部署您的代码。在本教程中，我们将指导您完成一个使用**单页应用程序**蓝图创建的项目，不过您也可以对任何有源存储库的项目使用这些步骤。在创建项目时，确保选择一个 IAM 角色或添加一个 IAM 角色（如果没有）。我们建议您在此项目中使用 **CodeCatalystWorkflowDevelopmentRole-*spaceName*** 服务角色。

如果您已经有一个项目，可以跳到[查看项目的存储库](#source-getting-started-source-view)。

**注意**  
只有拥有 Space 管理员或 **Power 用户**角色的用户才能在中创建项目 CodeCatalyst。如果您没有此角色，但需要一个项目来完成本教程，请让具有这些角色之一的人员为您创建一个项目，并将您添加到已创建的项目中。有关更多信息，请参阅 [使用用户角色授予访问权限](ipa-roles.md)。

**使用蓝图创建项目**

1. 在 CodeCatalyst 控制台中，导航到要在其中创建项目的空间。

1. 在空间控制面板上，选择**创建项目**。

1. 选择**从蓝图开始**。
**提示**  
您可以选择向 **Amazon Q** 提供您的项目需求，让 Amazon Q 为您推荐蓝图，以此来添加蓝图。有关更多信息，请参阅[创建项目或添加功能时使用 Amazon Q 选择蓝图](getting-started-project-assistance.md#getting-started-project-assistance-create-apply-bp)和[使用 Amazon Q 通过蓝图创建项目或添加功能时的最佳实践](projects-create.md#projects-create-amazon-q)。此功能仅在美国西部（俄勒冈州）区域中提供。  
此功能要求为空间启用生成式人工智能功能。有关更多信息，请参阅 [Managing generative AI features](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html)。

1. **在**CodeCatalyst 蓝图**或**空间蓝**图选项卡中，选择蓝图，然后选择下一步。**

1. 在**命名项目**下，输入要分配给项目的名称及其关联资源名称。该名称在空间内必须是唯一的。

1. （可选）默认情况下，蓝图创建的源代码存储在存储 CodeCatalyst 库中。此外，您可以选择将蓝图源代码存储在第三方存储库中。有关更多信息，请参阅 [为带有扩展程序的项目添加功能 CodeCatalyst使用扩展向项目添加功能](extensions.md)。
**重要**  
CodeCatalyst 不支持检测链接仓库的默认分支中的更改。要更改链接存储库的默认分支，必须先取消其与该分支的链接 CodeCatalyst，更改默认分支，然后再次进行链接。有关更多信息，请参阅 [在中关联 GitHub 存储库、Bitbucket 存储库、 GitLab 项目存储库和 Jira 项目 CodeCatalyst](extensions-link.md)。  
作为最佳实践，在链接存储库之前，请始终确保您拥有最新版本的扩展。

   根据要使用的第三方存储库提供商，执行以下操作之一：
   + **GitHub 存储库**：Connect GitHub 账户。

     选择 “**高级**” 下拉菜单，选择 GitHub作为存储库提供者，然后选择要存储蓝图创建的源代码的 GitHub 帐户。
**注意**  
如果您要关联 GitHub 账户，则必须创建个人连接才能在您的身份和身份之间建立 CodeCatalyst 身份映射。 GitHub 有关更多信息，请参阅[个人连接](concepts.md#personal-connection-concept)和[通过人际关系访问 GitHub 资源](ipa-settings-connections.md)。
   + **Bitbucket 存储库**：连接 Bitbucket 工作区。

     选择**高级**下拉菜单，选择 Bitbucket 作为存储库提供商，然后选择用于存储蓝图所创建的源代码的 Bitbucket 工作区。
   + **GitLab 存储库**：Connect GitLab 用户。

     选择 “**高级**” 下拉菜单，选择 GitLab作为存储库提供者，然后选择要存储蓝图创建的源代码的 GitLab 用户。

1. 在**项目资源**下，配置蓝图参数。根据蓝图的不同，您可以选择命名源存储库名称。

1. （可选）要根据您选择的项目参数查看包含更新的定义文件，请从**生成项目预览**中选择**查看代码**或**查看工作流**。

1. （可选）从蓝图卡中选择**查看详细信息**，查看蓝图的具体详细信息，如蓝图架构概述、所需连接和权限，以及蓝图创建的资源种类。

1. 选择**创建项目**。

创建项目或接受项目邀请并完成登录过程后，项目概述页面就会打开。新项目的项目概述页面不包含待解决事务或拉取请求。您可以选择性创建一个事务并将其分配给自己。您也可以选择邀请其他人加入您的项目。有关更多信息，请参阅[在中创建问题 CodeCatalyst](issues-create-issue.md)和[邀请用户加入项目](projects-members.md#projects-members-add)。

## 查看项目的存储库
<a name="source-getting-started-source-view"></a>

作为项目成员，您可以查看项目的源存储库。您还可以选择创建其他存储库。如果拥有 **Space 管理员**角色的用户安装并配置了**GitHub 存储库**、**Bitbucket 存储库**或**GitLab 存储库**扩展，您还可以在为扩展程序配置的 GitHub 账户、Bitbucket 工作空间或 GitLab 用户中添加指向第三方存储库的链接。有关更多信息，请参阅[创建源存储库](source-repositories-create.md)和[快速入门：安装扩展、连接提供商和链接资源 CodeCatalyst](extensions-quickstart.md)。

**注意**  
对于使用单页应用程序蓝图创建的项目，包含示例代码的源存储库的默认名称为***spa-app***。

**导航到项目的源存储库**

1. 导航到您的项目，然后执行下列操作之一：
   + 在项目的摘要页面上，从列表中选择所需的存储库，然后选择**查看存储库**。
   + 在导航窗格中，选择**代码**，然后选择**源存储库**。在**源存储库**中，从列表中选择存储库的名称。您可以通过在筛选栏中键入部分存储库名称，筛选存储库列表。

1. 在存储库主页上，查看存储库的内容以及有关关联资源的信息，例如拉取请求和工作流的数量。默认情况下，会显示默认分支的内容。您可通过选择此下拉列表中的其他分支来更改视图。

存储库的概述页面包含有关为该存储库的分支及其文件配置的工作流和拉取请求的信息。如果您刚刚创建项目，那么构建、测试和部署代码的初始工作流仍在运行，因为它们需要几分钟才能完成。您可以通过选择**相关工作流**下方的数字来查看相关工作流及其状态，但这将在 **CI/CD** 中打开**工作流**页面。在本教程中，请继续浏览概述页面，并探索存储库中的代码。`README.md` 文件的内容会显示在该页面上的存储库文件下方。在**文件**中，显示默认分支的内容。如果有其他分支，您可以更改文件视图以显示其他分支的内容。`.codecatalyst` 文件夹包含用于项目其他部分的代码，如工作流 YAML 文件。

要查看文件夹的内容，请选择文件夹名称旁边的箭头展开文件夹。例如，选择 `src` 旁边的箭头可查看该文件夹中包含的单页 Web 应用程序的文件。要查看某个文件的内容，请从列表中选择该文件。这将打开**查看文件**，您可以在其中浏览多个文件的内容。您也可以在控制台中编辑单个文件，但要编辑多个文件，建议您创建一个开发环境。

## 创建开发环境
<a name="source-getting-started-source-add"></a>

您可以在 Amazon CodeCatalyst 控制台中添加和更改源存储库中的文件。不过，要高效处理多个文件和分支，我们建议使用开发环境或将存储库克隆到本地计算机。在本教程中，我们将创建一个带有名为的分支的 AWS Cloud9 开发环境**develop**。您可以选择不同的分支名称，但只要将分支命名为 **develop**，在本教程稍后创建拉取请求时，工作流就会自动运行，以构建和测试您的代码。

**提示**  
如果您决定在本地克隆一个存储库，而不是使用开发环境，请确保您的本地计算机上有 Git 或您的 IDE 包含 Git。有关更多信息，请参阅 [为使用源存储库进行设置](source-setting-up.md)。

**使用新分支创建开发环境**

1. 打开 CodeCatalyst 控制台，[网址为 https://codecatalyst.aws/](https://codecatalyst.aws/)。

1. 导航到要在其中创建开发环境的项目。

1. 从项目的源存储库列表中选择存储库的名称。另外，在导航窗格中，依次选择**代码**、**源存储库**以及要为其创建开发环境的存储库。

1. 在存储库主页上，选择**创建开发环境**。

1. 从下拉菜单中选择受支持的 IDE。请参阅[开发环境支持的集成式开发环境](devenvironment-create.md#devenvironment-supported-ide)了解更多信息。

1. 选择要克隆的存储库，选择**在新分支中工作**，在**分支名称**字段中输入分支名称，然后从**创建分支自**下拉菜单中选择要从中创建新分支的分支。

1. 可选操作，为开发环境添加别名。

1. 可选操作，选择**开发环境配置**编辑按钮，编辑开发环境的计算、存储或超时配置。

1. 选择**创建**。在创建开发环境时，开发环境状态列将显示**正在启动**，开发环境创建完成后，状态列将显示**正在运行**。将在您选择的 IDE 中打开一个新选项卡，其中包含您的开发环境。您可以编辑代码并提交和推送更改。

创建开发环境后，您就可以编辑文件、提交更改并将更改推送到 **test** 分支。在本教程中，请编辑 `src` 文件夹中 `App.tsx` 文件的 `<p>` 标签之间的内容，以更改网页上显示的文本。提交并推送您的更改，然后返回 CodeCatalyst 选项卡。

## 在 AWS Cloud9 开发环境中进行和推送更改


1. 在中 AWS Cloud9，展开侧面导航菜单以浏览文件。展开 `src`，然后打开 `App.tsx`。

1. 更改 `<p>` 标签内的文本。

1. 保存文件，然后使用 Git 菜单提交并推送更改。或者，在终端窗口中使用 **git commit** 和 **git push** 命令提交和推送更改。

   ```
   git commit -am "Making an example change"
   git push
   ```
**提示**  
您可能需要将终端中的目录更改为 Git 存储库目录，然后才能成功运行 Git 命令。

## 创建拉取请求
<a name="source-getting-started-pull-request"></a>

您可以使用拉取请求来协同审查代码更改，包括次要的更改或修复、主要功能添加或已发布软件的新版本。在本教程中，您将创建一个拉取请求，以查看与**主*test***分支相比，您对分支所做的更改。在使用模板创建的项目中创建拉取请求也会启动相关工作流（如果有的话）的运行。

**创建拉取请求**

1. 导航到您的项目。

1. 请执行以下操作之一：
   + 在导航窗格中，依次选择**代码**、**拉取请求**和**创建拉取请求**。
   + 在存储库主页上，选择**更多**，然后选择**创建拉取请求**。
   + 在项目页面上，选择**创建拉取请求**。

1. 在**源代码库**中，确保指定的源存储库是包含所提交代码的存储库。只有在您未从存储库的主页创建拉取请求时，才会显示此选项。

1. 在**目标分支**中，在审查代码后，选择要将代码合并到的分支。

1. 在**源分支**中，选择包含所提交代码的分支。

1. 在**拉取请求标题**中，输入一个标题，帮助其他用户了解需要审查的内容及其原因。

1. （可选）在**拉取请求描述**中，提供诸如事务链接或所做更改的描述之类的信息。
**提示**  
你可以选择 “**为我写描述**”， CodeCatalyst 自动生成拉取请求中包含的更改的描述。您可以在将自动生成的描述添加到拉取请求后，对描述进行更改。  
此功能要求为空间启用生成式人工智能功能，并且不适用于链接的存储库中的拉取请求。有关更多信息，请参阅 [Managing generative AI features](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html)。

1. （可选）在**事务**中，选择**关联事务**，然后从列表中选择事务或输入事务 ID。要取消链接事务，请选择“取消链接”图标。

1. （可选）在**必需的审阅者**中，选择**添加必需审阅者**。从项目成员列表中进行选择，添加审阅者。必需的审阅者必须批准更改，才能将拉取请求合并到目标分支。
**注意**  
您不能将审阅者同时添加为必需的审阅者和可选的审阅者。您不能将自己添加为审阅者。

1. （可选）在**可选的审阅者**中，选择**添加可选审阅者**。从项目成员列表中进行选择，添加审阅者。可选的审阅者不必批准更改，这并不是将拉取请求合并到目标分支之前的必备要求。

1. 审查分支之间的差异。拉取请求中显示的差异是源分支中的修订与合并基准之间的更改，而合并基准是创建拉取请求时目标分支的 HEAD 提交。如果未显示任何更改，则分支可能相同，或者您可能为源和目标选择了相同的分支。

1. 如果您对拉取请求中包含的希望审查的代码和更改感到满意，请选择**创建**。
**注意**  
创建拉取请求后，可以添加备注。可以将备注添加到拉取请求中或文件内的单独行中，也可以为整个拉取请求添加备注。您可以使用 @ 符号后跟文件名的方式，添加指向文件等资源的链接。

您可以通过选择**概述**，然后查看**工作流运行**下**拉取请求详细信息**区域中的信息，来查看创建此拉取请求所启动的相关工作流的信息。要查看工作流运行的情况，请选择该运行。

**提示**  
如果您将分支命名为 **develop** 以外的名称，工作流将不会自动运行以构建和测试您的更改。如果要对其进行配置，请编辑**onPullRequestBuildAndTest**工作流程的 YAML 文件。有关更多信息，请参阅 [创建工作流](workflows-create-workflow.md)。

您可以对此拉取请求发表评论，也可以要求其他项目成员发表评论。您还可以选择添加或更改可选或必需的审阅者。您可以选择对存储库的源分支进行更多更改，并查看这些已提交的更改是如何创建拉取请求修订版的。有关更多信息，请参阅[审核拉取请求](pull-requests-review.md)、[更新拉取请求](pull-requests-update.md)、[在 Amazon 中使用拉取请求查看代码 CodeCatalyst](source-pull-requests.md)和[查看工作流运行状态和详细信息](workflows-view-run.md)。

## 合并拉取请求
<a name="source-getting-started-merge-pull-request"></a>

拉取请求经过审核并获得所需审阅者的批准后，即可在 CodeCatalyst控制台中将其源分支合并到目标分支。合并拉取请求也会通过与目标分支相关联的工作流启动更改的运行。在本教程中，您将把测试分支合并到主分支中，这将开始**onPushToMainDeployPipeline**工作流程的运行。

**合并拉取请求（控制台）**

1. 在**拉取请求**中，选择您在上一步中创建的拉取请求。在拉取请求中，选择**合并**。

1. 从拉取请求的可用合并策略中选择。（可选）选择或取消选择在合并拉取请求后删除源分支的选项，然后选择**合并**。合并完成后，拉取请求的状态将变为**已合并**，并不再出现在拉取请求的默认视图中。默认视图显示状态为**待解决**的拉取请求。您仍然可以查看已合并的拉取请求，但不能审批该拉取请求或更改其状态。
**注意**  
如果 “**合并**” 按钮未激活，或者您看到 “**不可合并**” 标签，则可能是所需的审阅者尚未批准拉取请求，或者拉取请求无法在控制台中合并。 CodeCatalyst 在**拉取请求详细信息**区域的**概述**中，使用时钟图标来指示尚未批准拉取请求的审阅者。如果所有必需的审阅者都已批准了拉取请求，但**合并**按钮仍未激活，则可能存在合并冲突，或超出了空间的存储配额。您可以在开发环境中解决目标分支的合并冲突，推送更改，然后合并拉取请求，也可以解决冲突并在本地合并，然后将包含合并的提交推送到 CodeCatalyst。有关更多信息，请参阅[合并拉取请求（Git）](pull-requests-merge.md#pull-requests-merge-git)和您的 Git 文档。

## 查看已部署的代码
<a name="source-getting-started-view-workflow-results"></a>

现在，您可以查看默认分支中最初部署的代码，以及自动构建、测试和部署后合并的更改。为此，您可以返回存储库的概述页面，选择相关工作流图标旁边的数字，或在导航窗格中选择 **CI/CD**，然后选择**工作流**。

**查看已部署的代码**

1. 在**工作流**的 `onPushToMainDeployPipeline` 中，展开**最近的运行**。
**注意**  
这是使用**单页应用程序**蓝图创建的项目的工作流默认名称。

1. 最近的运行是由您合并到 `main` 分支的拉取请求提交所启动的运行，可能会显示**正在进行中**状态。从列表中选择成功完成的运行，打开该运行的详细信息。

1. 选择**变量**。复制 **AppURL** 的值。这是已部署的单页 Web 应用程序的 URL。打开一个新的浏览器标签页并粘贴该值，以查看已构建和部署的代码。保持标签页打开状态。

1. 返回工作流运行的列表，等待最近的运行完成。运行完成后，返回您打开的标签页，以查看 Web 应用程序并刷新浏览器。您应该能在合并的拉取请求中看到所做的更改。

## 清理资源
<a name="source-getting-started-clean-up"></a>

在探索了如何使用源存储库和拉取请求后，建议您删除任何不需要的资源。您不能删除拉取请求，但可以关闭它们。您可以删除任何已创建的分支。

如果您不再需要源存储库或项目，也可以删除这些资源。有关更多信息，请参阅[删除源存储库](source-repositories-delete.md)和[删除项目](projects-delete.md)。