本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将 CodeArtifact 仓库连接到公共仓库
你可以在 CodeArtifact 存储库和外部公共存储库(例如 https://npmjs.com
在中 CodeArtifact,使用外部连接的预期方法是为每个域设置一个存储库,并与给定的公共存储库建立外部连接。例如,如果要连接到 npmjs.com,请将域中的一个存储库配置为与 npmjs.com 建立外部连接,并将所有其他存储库配置为该存储库的上游存储库。这样,所有存储库都可以使用已经从 npmjs.com 提取的程序包,而不必再次提取和存储程序包。
连接到外部存储库(控制台)
使用控制台向外部存储库添加连接时,会发生以下情况:
如果您的域中尚不存在外部存储库,则将在您的 CodeArtifact 域中创建该存储库。
-store
这些-store
存储库充当您的存储库和外部存储库之间的中间存储库,让您可以连接到多个外部存储库。相应的
-store
存储库将作为上游存储库添加到您的存储库中。
以下列表包含中的每个-store
存储库 CodeArtifact 及其连接的相应外部存储库。
cargo-store
已连接到 crates.io。clojars-store
连接到 Clojars 存储库。commonsware-store
已连接到 CommonsWare 安卓存储库。google-android-store
连接到 Google Android。gradle-plugins-store
连接到 Gradle 插件。maven-central-store
连接到 Maven Central 存储库。npm-store
连接到 npmjs.com。nuget-store
连接到 nuget.org。pypi-store
连接到 Python 打包权威机构。rubygems-store
已连接到 RubyGems .org。
连接到外部存储库(控制台)
打开 AWS CodeArtifact 控制台,网址为 https://console.aws.amazon.com/codesuite/codeartifact/home
。 -
在导航窗格中,选择域,然后选择包含您的存储库的域名。
-
选择您的存储库的名称。
-
选择编辑。
-
在上游存储库中,选择关联上游存储库,然后添加作为上游存储库连接的相应
-store
存储库。 -
选择更新存储库。
将-store
存储库添加为上游存储库后,连接到您的存储 CodeArtifact 库的包管理器可以从相应的外部存储库中获取软件包。
连接到外部存储库 (CLI)
您可以直接 AWS CLI 向 CodeArtifact 存储库添加外部连接,从而使用将存储库连接到外部存储库。这将允许连接到 CodeArtifact 存储库或其任何下游存储库的用户从配置的外部存储库中获取软件包。每个 CodeArtifact 存储库只能有一个外部连接。
建议每个域都有一个存储库与给定的公有存储库建立外部连接。要将其他存储库连接到公有存储库,请将具有外部连接的存储库作为其上游添加进来。如果您或域中的其他人已经在控制台中配置了外部连接,则您的域可能已经有一个 -store
存储库,该存储库与您要连接的公有存储库建立了外部连接。有关 -store
存储库以及与控制台连接的更多信息,请参阅连接到外部存储库(控制台)。
向 CodeArtifact 存储库添加外部连接 (CLI)
使用
associate-external-connection
来添加外部连接。以下示例将存储库连接到 npm 公有注册表 npmjs.com。有关支持的外部存储库的列表,请参阅支持的外部连接存储库。aws codeartifact associate-external-connection --external-connection
public:npmjs
\ --domainmy_domain
--domain-owner111122223333
--repositorymy_repo
输出示例:
{ "repository": { "name":
my_repo
"administratorAccount": "123456789012
", "domainName": "my_domain
", "domainOwner": "111122223333
", "arn": "arn:aws:codeartifact:us-west-2
:111122223333
:repository/my_domain
/my_repo
", "description": "A description of my_repo
", "upstreams": [], "externalConnections": [ { "externalConnectionName": "public:npmjs
", "packageFormat": "npm", "status": "AVAILABLE" } ] } }
添加外部连接后,有关通过外部连接从外部存储库请求程序包的信息,请参阅从外部连接请求程序包。
支持的外部连接存储库
CodeArtifact 支持与以下公共存储库的外部连接。要使用 CodeArtifact CLI 指定外部连接,请在运行associate-external-connection
命令时使用--external-connection
参数名称列中的值。
存储库类型 | 描述 | 名称 |
---|---|---|
Maven | Clojars 存储库 | public:maven-clojars |
Maven | CommonsWare 安卓存储库 | public:maven-commonsware |
Maven | Google Android 存储库 | public:maven-googleandroid |
Maven | Gradle 插件存储库 | public:maven-gradleplugins |
Maven | Maven Central | public:maven-central |
npm | npm 公有注册表 | public:npmjs |
NuGet | NuGet 画廊 | public:nuget-org |
Python | Python 包索引 | public:pypi |
Ruby | RubyGems.org | public:ruby-gems-org |
Rust | Crates.io | public:crates-io |
移除外部连接 (CLI)
要删除使用中的associate-external-connection
命令添加的外部连接 AWS CLI,请使用disassociate-external-connection
。
aws codeartifact disassociate-external-connection --external-connection
public:npmjs
\ --domainmy_domain
--domain-owner111122223333
--repositorymy_repo
输出示例:
{ "repository": { "name":
my_repo
"administratorAccount": "123456789012
", "domainName": "my_domain
", "domainOwner": "111122223333
", "arn": "arn:aws:codeartifact:us-west-2
:111122223333
:repository/my_domain
/my_repo
", "description": "A description of my_repo
", "upstreams": [], "externalConnections": [] } }