

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

# 第 2 步：克隆源代码
<a name="transform-containers-step-clone"></a>

在此步骤中，您将向 Transform 提供您的应用程序源 AWS 代码。您可以从 Git 存储库或通过上传 zip 文件来提供源代码。

## 选项 1：Git 存储库
<a name="transform-containers-clone-git"></a>

您可以从 Git 存储库中提供源代码。如果您尚未配置 AWS CodeConnections，此时 AWS 转换会提示您提供 CodeConnections ARN。您可以通过两种方式来指定存储库：
+ **上传 CSV 文件**-准备包含列`repo_name`和的 CSV 文件`branch`。`repo_name`必须是`owner/repo-name`格式化的。该`branch`列是可选的；将其留空即可使用存储库的默认分支。示例：

  ```
  repo_name,branch
  owner/my-app,main
  owner/api-service,develop
  owner/another-repo,
  ```
+ 在聊天@@ **中提供存储库详细信息 — 直接在聊天**中告诉 Trans AWS form 存储库名称和分支，而不是上传 CSV。

AWS Transform 会验证每个存储库是否存在且可通过您的 CodeConnections 配置进行访问，然后克隆存储库。

**注意**  
单个文件不得超过 1 GB，所有存储库的总大小不得超过 8 GB。 AWS 同时转换克隆多个存储库以加快处理速度。

**重要**  
Git clone 选项不支持跨多个存储库的应用程序。如果您的应用程序需要来自多个存储库的源代码，请将它们打包成一个 zip 文件，然后改用 zip 上传选项。

## 选项 2：上传 Zip 文件
<a name="transform-containers-clone-zip"></a>

如果您没有配置 CodeConnections，或者更喜欢直接上传源代码，则可以上传 zip 文件。

**将源代码作为 zip 文件上传**

1. 出现提示时，为每个应用程序上传一个 zip 文件。您可以将文件拖到聊天中或使用附件按钮。

1. 每个 zip 文件都应包含一个应用程序的源代码。

1. 单个文件不得超过 1 GB，所有上传的总大小不得超过 8 GB。

## 可选：配置私有依赖关系
<a name="transform-containers-clone-private-deps"></a>

如果您的应用程序依赖私有注册表中的包，则可以在此步骤中配置私有依赖源。 AWS Transform 支持以下私有依赖项类型：
+ **AWS CodeArtifact 存储库** — 配置托管在中的 Maven、PyPI 或 npm 存储库。 AWS CodeArtifact AWS Transform 会显示您账户中可用存储库的列表供您选择。
+ **私有 Amazon ECR 基础映像** — 如果您的 Dockerfiles 使用私有 Amazon ECR 存储库中的基础映像，请提供存储库详细信息，以便构建环境可以提取这些映像。

配置私有依赖关系时，T AWS ransform 会提示您连接到托管这些资源 AWS 账户 的地方。仅当您使用私有依赖项时，才需要配置此连接器。

## 确认容器化首选项
<a name="transform-containers-clone-confirm"></a>

源代码可用后，Trans AWS form 会询问您是否有关于如何完成容器化的具体说明。您可以选择指定：
+ 是生成新的 Dockerfile 还是重复使用现有的 Dockerfile。
+ 是在 monorepo 中处理特定服务，还是处理所有服务。
+ 容器化过程的任何其他偏好。

默认值为：

1. 使用亚马逊 Linux 2023 基础镜像 (`public.ecr.aws/amazonlinux/amazonlinux:latest`)。

1. 处理存储库中的所有应用程序。

1. 重复使用现有的 Dockerfile（如果有），如果需要，可以稍作修改。

您可以确认继续使用默认设置，也可以提供具体说明。