本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
适用于 AWS Cloud9 的 AWS CodeCommit 教程
您可以使用 AWS CodeCommit 教程设置 AWS Cloud9 开发环境以与 CodeCommit 中的远程代码存储库进行交互。CodeCommit 是一个源代码控制服务,可用于在 AWS Cloud 中专门存储和管理 Git 存储库。有关 CodeCommit 的更多信息,请参阅 AWS CodeCommit 用户指南。
按照本教程操作并创建此示例可能会对您的 AWS 账户 收费。其中包括可能对 Amazon EC2 和 CodeCommit 等服务收取的费用。有关更多信息,请参阅 Amazon EC2 定价
先决条件
在使用此示例之前,请确保您的设置满足以下要求:
-
您必须有现成的 AWS Cloud9 EC2 开发环境。本示例假设您已经有连接到运行 Amazon Linux 或 Ubuntu Server 的 Amazon EC2 实例的 EC2 环境。如果您有不同类型的环境或操作系统,可能需要按照本示例的说明来设置相关的工具。有关更多信息,请参阅在中创建环境 AWS Cloud9。
-
您已将适用于现有环境的 AWS Cloud9 IDE 打开。当您打开环境时,AWS Cloud9 会在 Web 浏览器中为该环境打开 IDE。有关更多信息,请参阅在 AWS Cloud9 中打开环境。
步骤 1:设置具有所需访问权限的 IAM 组
假设您的 AWS 凭证与您的 AWS 账户 中的管理员用户相关联,并且您希望通过该用户使用 CodeCommit,则请向前跳到步骤 2:在 AWS CodeCommit 中创建存储库。
您可以使用 AWS Management Console 或 AWS Command Line Interface (AWS CLI) 完成此步骤。
使用控制台设置具有所需访问权限的 IAM 组
-
登录 AWS Management Console(如果尚未登录)。
对于该步骤,我们建议使用您的 AWS 账户 中的管理员用户的凭证登录。如果您无法执行此操作,请咨询您的 AWS 账户 管理员。
-
打开 IAM 控制台。为此,请在控制台的导航栏中选择 Service(服务)。然后,选择 IAM。
-
选择 Groups(组)。
-
选择组名。
-
在 Permissions(权限)选项卡中,在 Manged Policies(托管式策略)处,选择 Attach Policy(附加策略)。
-
在策略名称列表中,选中以下框之一:
-
选择 AWScodeCommitPowerUser 可访问 CodeCommit 的所有功能和存储库相关资源。但是,这不允许您删除 CodeCommit 存储库或在其他 AWS 服务(如 Amazon CloudWatch Events)中创建或删除存储库相关资源。
-
选中 AWSCodeCommitFullAccess 以完全控制 AWS 账户 中的 CodeCommit 存储库和相关资源。这包括可以删除存储库。
如果在列表中看不到任一策略名称,请在 Filter(筛选条件)框中输入策略名称以显示它们。
-
-
选择 Attach Policy(附加策略)。
要查看这些 AWS 托管式策略为组授予的访问权限列表,请参阅 AWS CodeCommit 用户指南中的适用于 AWS CodeCommit 的 AWS 托管式(预定义)策略。
向前跳到步骤 2:在 AWS CodeCommit 中创建存储库。
使用 AWS CLI 设置具有所需访问权限的 IAM 组
运行 IAM attach-group-policy
命令,并指定组的名称以及描述所需访问权限的 AWS 托管式策略的 Amazon 资源名称(ARN)。语法如下所示。
aws iam attach-group-policy --group-name MyGroup --policy-arn POLICY_ARN
在上述命令中,将 MyGroup
替换为组的名称。将 POLICY_ARN
替换为 AWS 托管式策略的 ARN:
-
arn:aws:iam::aws:policy/AWSCodeCommitPowerUser
,以访问 CodeCommit 的所有功能和存储库相关资源。但是,它不允许您删除 CodeCommit 存储库或在其他 AWS 服务(如 Amazon CloudWatch Events)中创建或删除存储库相关资源。 -
arn:aws:iam::aws:policy/AWSCodeCommitFullAccess
,以完全控制 AWS 账户 中的 CodeCommit 存储库和相关资源。这包括可以删除存储库。
要查看这些 AWS 托管式策略为组授予的访问权限列表,请参阅 AWS CodeCommit 用户指南中的适用于 AWS CodeCommit 的 AWS 托管式(预定义)策略。
步骤 2:在 CodeCommit 中创建存储库
在此步骤中,您使用 CodeCommit 控制台在 CodeCommit 中创建一个远程代码存储库。
如果已具有一个 CodeCommit 存储库,请向前跳到步骤 3:将您的环境连接到远程存储库。
您可以使用 AWS Management Console 或 AWS Command Line Interface (AWS CLI) 完成此步骤。
使用 控制台 在 CodeCommit 中创建存储库
-
假设您在上一步中以管理员用户身份登录到 AWS Management Console,并且不希望使用管理员用户创建存储库。然后,退出 AWS Management Console。
-
打开 CodeCommit 控制台 (https://console.aws.amazon.com/codecommit
。 -
在控制台的导航栏中,使用区域选择器选择要在其中创建存储库的 AWS 区域(如美国东部(俄亥俄州))。
-
如果显示欢迎页面,请选择 Get started(开始使用)。否则,选择 Create repository(创建存储库)。
-
在 Create repository(创建存储库)页面中,为 Repository name(存储库名称)键入新存储库的名称(例如
MyDemoCloud9Repo
)。如果您选择不同的名称,请在本示例中替换为该名称。 -
(可选)对于 Description(描述),请键入有关该存储库的信息。例如,您可以输入:
This is a demonstration repository for the AWS Cloud9 sample.
-
选择 Create repository(创建存储库)。将显示 Connect to your repository(连接到您的存储库)窗格。选择 Close(关闭),因为将在本主题后面以不同方式连接到存储库。
向前跳到步骤 3:将您的环境连接到远程存储库。
使用 AWS CLI 在 CodeCommit 中创建存储库
运行 create-repository
命令 AWS CodeCommit。指定存储库的名称、可选描述以及要在其中创建存储库的 AWS 区域。
aws codecommit create-repository --repository-name MyDemoCloud9Repo --repository-description "This is a demonstration repository for the AWS Cloud9 sample." --region us-east-2
在上述命令中,将 us-east-2
替换为要在其中创建存储库的 AWS 区域 的 ID。有关受支持的区域的列表,请参阅《Amazon Web Services 一般参考》中的 AWS CodeCommit。
如果您选择使用不同的存储库名称,请在本示例中替换为该名称。
步骤 3:将您的环境连接到远程存储库
在该步骤中,您使用 AWS Cloud9 IDE 连接到在上一步中创建或确定的 CodeCommit 存储库。
注意
如果您更喜欢通过可视化界面使用 Git,可以克隆远程存储库。然后,您可以使用 IDE 中提供的 Git 面板功能添加文件。
完成以下若干组过程之一,具体取决于您的 AWS Cloud9 开发环境类型。
环境类型 | 执行以下过程 |
---|---|
EC2 环境 |
|
SSH 环境 |
|
步骤 4:将远程存储库克隆到您的环境
在该步骤中,您使用 AWS Cloud9 IDE 将 CodeCommit 中的远程存储库克隆到您的环境中。
要克隆存储库,请运行 git clone
命令。将 CLONE_URL
替换为存储库的克隆 URL。
git clone CLONE_URL
对于 EC2 环境,请提供以 https://
开头的 HTTPS 克隆 URL。对于 SSH 环境,请提供以 ssh://
开头的 SSH 克隆 URL。
要获取存储库的完整克隆 URL,请参阅 AWS CodeCommit 用户指南中的使用 AWS CodeCommit 控制台查看存储库详细信息。
如果在您的存储库中没有任何文件,则会显示一条警告消息,如 You appear to have cloned an empty repository.
。这是预期行为。您将稍后处理该问题。
步骤 5:向存储库添加文件
在这一步中,您将在 AWS Cloud9 环境的克隆存储库中创建三个简单文件。接下来,将文件添加到克隆存储库的 Git 暂存区域。最后,您提交暂存的文件,并将提交内容推送到 CodeCommit 中的远程存储库。
如果在克隆的存储库中已具有文件,则该过程已完成,您可以跳过本示例的其余部分。
在存储库中添加文件
-
创建新的文件。在菜单栏上,选择 File(文件)、New File(新建文件)。
-
在文件中输入以下内容,然后选择 File(文件)> Save(保存),以在您的 AWS Cloud9 环境的
MyDemoCloud9Repo
目录中将该文件保存为bird.txt
。bird.txt -------- Birds are a group of endothermic vertebrates, characterized by feathers, toothless beaked jaws, the laying of hard-shelled eggs, a high metabolic rate, a four-chambered heart, and a lightweight but strong skeleton.
注意
要确认您将该文件保存到正确的目录中,请在 Save As(另存为)对话框中选择
MyDemoCloud9Repo
文件夹。然后,确保 Folder(文件夹)显示/MyDemoCloud9Repo
。 -
再创建两个名为
insect.txt
和reptile.txt
的文件,内容如下。将这些文件保存到相同的MyDemoCloud9Repo
目录中。insect.txt ---------- Insects are a class of invertebrates within the arthropod phylum that have a chitinous exoskeleton, a three-part body (head, thorax, and abdomen), three pairs of jointed legs, compound eyes, and one pair of antennae.
reptile.txt ----------- Reptiles are tetrapod (four-limbed vertebrate) animals in the class Reptilia, comprising today's turtles, crocodilians, snakes, amphisbaenians, lizards, tuatara, and their extinct relatives.
-
在终端中,运行
cd
命令以切换到MyDemoCloud9Repo
目录。cd MyDemoCloud9Repo
-
通过运行
git status
命令,确认这些文件已成功保存到MyDemoCloud9Repo
目录中。所有三个文件将作为未跟踪的文件列出。Untracked files: (use "git add <file>..." to include in what will be committed) bird.txt insect.txt reptile.txt
-
运行
git add
命令,以将这些文件添加到 Git 暂存区域中。git add --all
-
再次运行
git status
命令,以确认这些文件已成功添加到 Git 暂存区域中。所有三个文件现在列为更改待提交。Changes to be committed: (use "git rm --cached <file>..." to unstage) new file: bird.txt new file: insect.txt new file: reptile.txt
-
运行
git commit
命令以提交暂存的文件。git commit -m "Added information about birds, insects, and reptiles."
-
运行
git push
命令,以将提交内容推送到 CodeCommit 中的远程存储库。git push -u origin master
-
确认是否成功推送这些文件。如果尚未打开 CodeCommit 控制台,请将其打开 (https://console.aws.amazon.com/codecommit
)。 -
在顶部导航栏的右侧边缘附近,选择您在其中创建了存储库的 AWS 区域(如美国东部(俄亥俄州))。
-
在 Dashboard(控制面板)页中,选择 MyDemoCloud9Repo。将显示这三个文件。
要继续试验 CodeCommit 存储库,请参阅 AWS CodeCommit 用户指南中的浏览存储库的内容。
如果不熟悉 Git 并且不希望毁坏您的 CodeCommit 存储库,请试验 Try Git
步骤 6:清除
为防止在您使用完该示例后一直对您的 AWS 账户 收费,请删除 CodeCommit 存储库。有关说明,请参阅 AWS CodeCommit 用户指南中的删除 AWS CodeCommit 存储库。
同时确保删除环境。有关说明,请参阅删除环境。