本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將 CodeArtifact 存儲庫 Connect 到公共存儲庫
您可以在 CodeArtifact 存儲庫和外部公共存儲庫(例如 https://npmjs.com
在中 CodeArtifact,使用外部連線的預期方法是每個網域都有一個存放庫,且具有與指定公用存放庫的外部連線。例如,如果您要連接到 npmjs.com,請在域中配置一個與 npmjs.com 的外部連接的存儲庫,並使用其上游配置所有其他存儲庫。這樣,所有存儲庫都可以使用已經從 npmjs.com 獲取的軟件包,而不是再次獲取並存儲它們。
Connect 到外部存儲庫(控制台)
當您使用控制台將連接添加到外部存儲庫時,將發生以下情況:
如果外部存
-store
放庫不存在,則會在您的 CodeArtifact 網域中建立外部儲存庫的儲存庫。這些-store
儲存庫在您的儲存庫與外部儲存庫之間的行為是中繼儲存庫,可讓您連線至多個外部存放庫。適當的
-store
存放庫會新增為您的儲存庫的上游。
下列清單包含中的每個-store
存放庫以 CodeArtifact 及它們連線到的相應外部存放庫。
cargo-store
被連接到瘋狂的 .io。clojars-store
連接到 Clojar 存儲庫。commonsware-store
已連接到 CommonsWare 安卓版本庫。google-android-store
連接到谷歌安卓系統。gradle-plugins-store
連接到搖籃插件。maven-central-store
連接到 Maven 中央存儲庫。npm-store
已連接到網站。nuget-store
已連線至核心組織。pypi-store
連接到 Python 包裝管理局。rubygems-store
已連接到 RubyGems .org。
連線至外部存放庫 (主控台)
請在以下位置開啟 AWS CodeArtifact 主控台。
https://console.aws.amazon.com/codesuite/codeartifact/home -
在瀏覽窗格中,選擇 [網域],然後選擇包含存放庫的網域名稱。
-
選擇儲存庫的名稱。
-
選擇編輯。
-
在上游存放庫中,選擇「關聯上游存放庫」,然後新增作為上游連接的適當
-store
存放庫。 -
選擇更新儲存庫。
將-store
存放庫新增為上游儲存庫之後,連接至您儲存 CodeArtifact 庫的套件管理員可以從相應的外部儲存庫擷取套件。
Connect 至外部存放庫 (CLI)
您可以使用將 CodeArtifact 存放庫直接新增外部連線至存放庫,將存放庫連線至外部存放庫。 AWS CLI 這可讓連線至儲 CodeArtifact 存區域或其任何下游儲存區域的使用者從設定的外部儲存區域擷取套裝程式。每個 CodeArtifact 儲存庫只能有一個外部連線。
建議每個域有一個存儲庫,並與給定的公共存儲庫進行外部連接。要將其他存儲庫連接到公共存儲庫,請將具有外部連接的存儲庫作為其上游添加。如果您或網域中的其他人已經在主控台中設定了外部連線,則您的網域可能已經有一個-store
存放庫,其中包含與您要連線的公用存放庫的外部連線。如需有關-store
儲存庫和與主控台連線的詳細資訊,請參閱Connect 到外部存儲庫(控制台)。
將外部連線新增至存 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
參數「名稱」(Name) 欄中的值。
儲存庫類型 | 描述 | 名稱 |
---|---|---|
Maven | 罐子存儲庫 | public:maven-clojars |
Maven | CommonsWare 安卓儲存庫 | public:maven-commonsware |
Maven | 谷歌安卓儲存庫 | public:maven-googleandroid |
Maven | 搖籃插件庫 | public:maven-gradleplugins |
Maven | Maven 中央 | public:maven-central |
NPM | npm 公共註冊表 | public:npmjs |
NuGet | NuGet 畫廊 | public:nuget-org |
Python | Python Package 索引 | public:pypi |
Ruby | RubyGems.org | public:ruby-gems-org |
Rust | 克拉特斯大作战 | 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": [] } }