创建存储库 - CodeArtifact

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

创建存储库

由于中的所有软件包 CodeArtifact 都存储在存储中,因此要使用 CodeArtifact,必须创建一个。您可以使用 CodeArtifact 控制台、 AWS Command Line Interface (AWS CLI) 或创建存储库 AWS CloudFormation。每个存储库都与您在创建存储库时使用的 AWS 账户相关联。您可以有多个存储库,按来创建存储库并进行分组。创建存储库时,存储库中不包含任何程序包。存储库是多语言的,这意味着单个存储库可以包含任何受支持类型的程序包。

有关 CodeArtifact 服务限制的信息,例如单个域中允许的最大存储库数量,请参阅中的配额 AWS CodeArtifact。如果达到了允许的最大存储库数量,则可以删除存储库来腾出空间,用于容纳更多存储库。

一个存储库可以有一个或多个与之关联的 CodeArtifact 仓库作为上游存储库。这允许包管理器客户端使用单个URL端点访问多个存储库中包含的包。有关更多信息,请参阅 在中使用上游存储库 CodeArtifact

有关使用管理 CodeArtifact 仓库的更多信息 CloudFormation,请参阅使用创建 CodeArtifact 资源 AWS CloudFormation

注意

创建存储库后,便无法更改其名称、关联的 AWS 账户或域。

创建存储库(控制台)

  1. https://console.aws.amazon.com/codesuite/codeartifact /hom AWS CodeArtifact e 打开控制台。

  2. 在导航窗格中,选择存储库,然后选择创建存储库

  3. 存储库名称中,输入存储库的名称。

  4. (可选)在存储库描述中,输入存储库的可选描述。

  5. (可选)在发布上游存储库中,添加可用于将您的存储库与程序包发布机构(例如 Maven Central 或 npmjs.com)连接起来的中间存储库。

  6. 选择下一步

  7. 如果您登录的是拥有该域名的AWSAWS账户,请在 “帐户” 中选择 “此账户”。如果其他AWS账户拥有该域名,请选择其他AWS账户。

  8. 中,选择要在其中创建存储库的域。

    如果账户中没有域,则必须创建一个域。在域名中,输入新域的名称。

    展开其他配置

    您必须使用 AWS KMS key (KMS密钥)来加密您域中的所有资产。您可以使用自己管理的 AWS 托管式密钥 或KMS密钥:

    重要

    CodeArtifact 仅支持对称KMS密钥。您不能使用非对称KMS密钥来加密您的 CodeArtifact 域名。要帮助确定KMS密钥是对称密钥还是非对称密钥,请参阅识别对称和非对称密钥。KMS

    • 如果要使用默认密钥,请选择AWS托管密钥 AWS 托管式密钥。

    • 如果您想使用自己管理的密钥,请选择客户管理的KMS密钥。要使用您管理的KMS密钥,请在客户管理的密钥ARN中搜索并选择该KMS密钥。

    有关更多信息,请参阅《AWS Key Management Service 开发人员指南》中的 AWS 托管式密钥客户管理的密钥

  9. 选择下一步

  10. 在 “查看并创建” 中,查看 CodeArtifact 正在为您创建的内容。

    • 程序包流显示您的域和存储库如何连接。

    • 步骤 1: 创建存储库显示有关存储库以及将要创建的可选上游存储库的详细信息。

    • 步骤 2: 选择域显示有关 my_domain 的详细信息。

    当您准备好后,选择创建存储库

创建存储库 (AWS CLI)

使用 create-repository 命令在您的域中创建存储库。

aws codeartifact create-repository --domain my_domain --domain-owner 111122223333 --repository my_repo --description "My new repository"

输出示例:

{ "repository": { "name": "my_repo", "administratorAccount": "123456789012", "domainName": "my_domain", "domainOwner": "111122223333", "arn": "arn:aws:codeartifact:region-id:111122223333:repository/my_domain/my_repo", "description": "My new repository", "upstreams": "[]", "externalConnections"" "[]" } }

新的存储库不包含任何程序包。每个存储库都与您在创建存储库时经过身份验证的 AWS 账户相关联。

创建带标签的存储库

要创建带标签的存储库,请在 create-domain 命令中添加 --tags 参数。

aws codeartifact create-repository --domain my_domain --domain-owner 111122223333 --repository my_repo --tags key=k1,value=v1 key=k2,value=v2

创建具有上游存储库的存储库

在创建存储库时,可以指定一个或多个上游存储库。

aws codeartifact create-repository --domain my_domain --domain-owner 111122223333 --repository my_repo \ --upstreams repositoryName=my-upstream-repo --repository-description "My new repository"

输出示例:

{ "repository": { "name": "my_repo", "administratorAccount": "123456789012", "domainName": "my_domain", "domainOwner": "111122223333", "arn": "arn:aws:codeartifact:region-id:111122223333:repository/my_domain/my_repo", "description": "My new repository", "upstreams": [ { "repositoryName": "my-upstream-repo" } ], "externalConnections"" "[]" } }
注意

要创建带有上游存储库的存储库,您必须拥有对上游存储库执行 AssociateWithDownstreamRepository 操作的权限。

要在创建后向存储库中添加上游存储库,请参阅添加或删除上游存储库(控制台)添加或删除上游存储库 (AWS CLI)