本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
配置和使用貨物 CodeArtifact
您可以使用 Cargo 從 CodeArtifact 倉庫發布和下載箱子,或者從 Rust 社區的箱子註冊處 crates.io
配置貨物 CodeArtifact
要使用 Cargo 從中安裝和發布箱子 AWS CodeArtifact,您首先需要使用 CodeArtifact 存儲庫信息配置它們。請遵循下列其中一個程序中的步驟,以您的 CodeArtifact 儲存庫端點資訊和憑證來設定 Cargo。
使用控制台說明配置貨物
您可以使用控制台中的配置說明將 Cargo 連接到您的 CodeArtifact 存儲庫。控制台說明提供了為您的 CodeArtifact 存儲庫定制的 Cargo 配置。您可以使用此自定義配置來設置 Cargo,而無需查找和填寫您的 CodeArtifact 信息。
-
請在以下位置開啟 AWS CodeArtifact 主控台。
https://console.aws.amazon.com/codesuite/codeartifact/home -
在導覽窗格中,選擇儲存庫,然後選擇要連線至 Cargo 的儲存庫。
-
選擇 [檢視連線指示]。
-
選擇您的作業系統。
-
選擇「貨運」。
-
按照生成的說明將 Cargo 連接到您的 CodeArtifact 存儲庫。
手動配置貨物
如果您無法或不想使用控制台中的配置說明,可以使用以下說明手動將 Cargo 連接到您的 CodeArtifact 儲存庫。
上述範例中的[registries.
章節會定義登錄,my_registry
]
並提供my_registry
index
和credential-provider
資訊。
-
index
指定登錄的索引 CodeArtifact URL,也就是以/
. 非 Git 儲存庫的登錄需要sparse+
前置詞。 -
credential-provider
指定指定登錄的認證提供者。如果credential-provider
未設定,則registry.global-credential-providers
會使用中的提供者。通過設置credential-provider
為cargo:token-from-stdout
,Cargo 客戶端將在從 CodeArtifact 存儲庫發布或下載時自動獲取新的授權令牌,因此您無需每 12 小時手動刷新一次授權令牌。
本[registry]
節定義了使用的預設登錄。
-
default
指定在中定義的登錄名稱[registries.
,當從 CodeArtifact 存放庫發行或下載時,依預設使用。my_registry
]
該[source.crates-io]
部分定義了未指定時使用的默認註冊表。
-
replace-with = "
將公共註冊表 crates.io 替換為中定義的 CodeArtifact 存儲庫。my_registry
"[registries.
如果您需要從外部連接(例如 crates.io)請求軟件包,建議您使用此配置。my_registry
]若要取得的所有好處 (例如可防止相依性混淆攻擊的套件原始控制項),建議您使用原始碼取代。 CodeArtifact取代來源時,會將所有要求 CodeArtifact 代理至外部連線,並將套件從外部連線複製到您的存放庫。如果沒有替換原始碼,Cargo 用戶端將直接根據您專案中
Cargo.toml
檔案中的組態擷取套件。如果依賴項沒有標記registry=
,Cargo 客戶端將直接從 crates.io 中檢索它,而無需與您的存儲庫進行通信。 CodeArtifactmy_registry
注意
如果您開始使用來源取代,然後將組態檔更新為不使用來源取代,您可能會遇到錯誤。相反的情況也可能導致錯誤。因此,建議您避免變更專案的組態。
安裝貨物箱
使用下列程序從 CodeArtifact 儲存庫或 cra
安裝貨物箱 CodeArtifact
您可以使用 Cargo (cargo
) CLI 從您的 CodeArtifact 儲存庫快速安裝特定版本的貨物箱。
要從 CodeArtifact 存儲庫安裝貨物箱 cargo
如果尚未執行,請依照中的步驟設配置和使用貨物 CodeArtifact定
cargo
CLI,使其具有適當認證使用 CodeArtifact 存放庫。-
使用以下命令從中 CodeArtifact安裝貨物箱:
cargo add my_cargo_package@
1.0.0
有關更多信息,請參閱貨物簿中的貨物添加
。
出版貨物箱 CodeArtifact
請遵循下列程序,使用 cargo
CLI 將貨物包裝箱發佈至 CodeArtifact 儲存庫。
如果尚未執行,請依照中的步驟設配置和使用貨物 CodeArtifact定
cargo
CLI,使其具有適當認證使用 CodeArtifact 存放庫。-
使用下列指令將貨物箱發佈至 CodeArtifact 儲存庫:
cargo publish
有關更多信息,請參閱《貨物書》中的貨物發布
。