本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
开始使用 AWS CLI
运行以下步骤开始 CodeArtifact 使用 AWS Command Line Interface (AWS CLI)。有关更多信息,请参阅 安装或升级 AWS CLI,然后对其进行配置。本指南使用 npm 程序包管理器,如果您使用的是不同的程序包管理器,则需要修改以下某些步骤。
-
AWS CLI 使用运行create-domain命令。
aws codeartifact create-domain --domainmy-domain输出中会显示 JSON 格式的数据,并包含有关新域的详细信息。
{ "domain": { "name": "my-domain", "owner": "111122223333", "arn": "arn:aws:codeartifact:us-west-2:111122223333:domain/my-domain", "status": "Active", "createdTime": "2020-10-07T15:36:35.194000-04:00", "encryptionKey": "arn:aws:kms:us-west-2:111122223333:key/your-kms-key", "repositoryCount": 0, "assetSizeBytes": 0 } }如果您收到错误消息
Could not connect to the endpoint URL,请确保您的配置 AWS CLI 完毕并且您的默认区域名称设置为您创建存储库的相同区域,请参阅配置 AWS 命令行界面。 -
使用 create-repository 命令在您的域中创建存储库。
aws codeartifact create-repository --domainmy-domain--domain-owner111122223333--repositorymy-repo输出中会显示 JSON 格式的数据,并包含有关新存储库的详细信息。
{ "repository": { "name": "my-repo", "administratorAccount": "111122223333", "domainName": "my-domain", "domainOwner": "111122223333", "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/my-domain/my-repo", "upstreams": [], "externalConnections": [] } } -
使用 create-repository 命令为您的
my-repo存储库创建上游存储库。aws codeartifact create-repository --domainmy-domain--domain-owner111122223333--repositorynpm-store输出中会显示 JSON 格式的数据,并包含有关新存储库的详细信息。
{ "repository": { "name": "npm-store", "administratorAccount": "111122223333", "domainName": "my-domain", "domainOwner": "111122223333", "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/my-domain/npm-store", "upstreams": [], "externalConnections": [] } } -
使用 associate-external-connection 命令将 npm 公有存储库的外部连接添加到您的
npm-store存储库中。aws codeartifact associate-external-connection --domainmy-domain--domain-owner111122223333--repositorynpm-store--external-connection"public:npmjs"输出中会显示 JSON 格式的数据,并包含有关存储库及其新外部连接的详细信息。
{ "repository": { "name": "npm-store", "administratorAccount": "111122223333", "domainName": "my-domain", "domainOwner": "111122223333", "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/my-domain/npm-store", "upstreams": [], "externalConnections": [ { "externalConnectionName": "public:npmjs", "packageFormat": "npm", "status": "AVAILABLE" } ] } }有关更多信息,请参阅 将 CodeArtifact 仓库连接到公共仓库。
-
使用 update-repository 命令将
npm-store存储库作为上游存储库关联到my-repo存储库。aws codeartifact update-repository --repositorymy-repo--domainmy-domain--domain-owner111122223333--upstreams repositoryName=npm-store输出中会显示 JSON 格式的数据,并包含有关已更新的存储库(包括其新的上游存储库)的详细信息。
{ "repository": { "name": "my-repo", "administratorAccount": "111122223333", "domainName": "my-domain", "domainOwner": "111122223333", "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/my-domain/my-repo", "upstreams": [ { "repositoryName": "npm-store" } ], "externalConnections": [] } }有关更多信息,请参阅 添加或删除上游存储库 (AWS CLI)。
-
使用 login 命令对
my-repo存储库配置 npm 程序包管理器。aws codeartifact login --tool npm --repositorymy-repo--domainmy-domain--domain-owner111122223333您应该会收到确认登录成功的输出。
Successfully configured npm to use AWS CodeArtifact repository https://my-domain-111122223333.d.codeartifact.us-east-2.amazonaws.com/npm/my-repo/ Login expires in 12 hours at 2020-10-08 02:45:33-04:00有关更多信息,请参阅 配置并使用 npm CodeArtifact。
-
使用 npm CLI 来安装 npm 程序包。例如,要安装常见的 npm 程序包
lodash,请使用以下命令。npm installlodash -
使用 list-packages 命令来查看您刚刚在
my-repo存储库中安装的程序包。注意
从
npm install安装命令完成到存储库中显示程序包之间可能会有一段延迟。有关从公有存储库提取程序包时的典型延迟的详细信息,请参阅外部连接延迟。aws codeartifact list-packages --domainmy-domain--repositorymy-repo输出中会显示 JSON 格式的数据,包括您安装的程序包的格式和名称。
{ "packages": [ { "format": "npm", "package": "lodash" } ] }您现在有三个 CodeArtifact 资源:
-
域
my-domain。 -
my-domain中包含的存储库my-repo。这个存储库有一个 npm 程序包。 -
my-domain中包含的存储库npm-store。这个存储库与公有 npm 存储库建立了外部连接,并作为上游存储库与my-repo存储库相关联。
-
-
为避免进一步 AWS 收费,请删除您在本教程中使用的资源:
注意
您无法删除包含存储库的域,因此必须先删除
my-repo和npm-store,然后才能删除my-domain。-
使用 delete-repository 命令来删除
npm-store存储库。aws codeartifact delete-repository --domainmy-domain--domain-owner111122223333--repositorymy-repo输出中会显示 JSON 格式的数据,并包含有关已删除存储库的详细信息。
{ "repository": { "name": "my-repo", "administratorAccount": "111122223333", "domainName": "my-domain", "domainOwner": "111122223333", "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/my-domain/my-repo", "upstreams": [ { "repositoryName": "npm-store" } ], "externalConnections": [] } } -
使用 delete-repository 命令来删除
npm-store存储库。aws codeartifact delete-repository --domainmy-domain--domain-owner111122223333--repositorynpm-store输出中会显示 JSON 格式的数据,并包含有关已删除存储库的详细信息。
{ "repository": { "name": "npm-store", "administratorAccount": "111122223333", "domainName": "my-domain", "domainOwner": "111122223333", "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/my-domain/npm-store", "upstreams": [], "externalConnections": [ { "externalConnectionName": "public:npmjs", "packageFormat": "npm", "status": "AVAILABLE" } ] } } -
使用 delete-domain 命令来删除
my-domain存储库。aws codeartifact delete-domain --domainmy-domain--domain-owner111122223333输出中会显示 JSON 格式的数据,并包含有关已删除域的详细信息。
{ "domain": { "name": "my-domain", "owner": "111122223333", "arn": "arn:aws:codeartifact:us-west-2:111122223333:domain/my-domain", "status": "Deleted", "createdTime": "2020-10-07T15:36:35.194000-04:00", "encryptionKey": "arn:aws:kms:us-west-2:111122223333:key/your-kms-key", "repositoryCount": 0, "assetSizeBytes": 0 } }
-