本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
CodeArtifact 與數字網或網點網 CLI 一起使用
您可以使用 CLI 工具,例nuget
如從 CodeArtifact. dotnet
本文件提供設定 CLI 工具以及使用它們來發佈或使用套件的相關資訊。
主題
設定數字或網點網路 CLI
您可以使用或手動使用 CodeArtifact NuGet 認證提供者來設定 nuget 或 dotnet CLI。 AWS CLI強烈建議您 NuGet 使用認證提供者進行設定,以簡化設定和持續驗證。
方法 1:使用 CodeArtifact NuGet 認證提供者進行設定
CodeArtifact NuGet 認證提供者可簡化 CodeArtifact 使用 NuGet CLI 工具的驗證和設定。 CodeArtifact 身份驗證令牌的有效期最多為 12 小時。為了避免在使用 nuget 或 dotnet CLI 時必須手動刷新令牌,憑據提供程序會在當前令牌到期之前定期獲取新令牌。
重要
若要使用認證提供者,請確定已從nuget.config
檔案中清除任何可能已手動新增的現有 AWS CodeArtifact 認證,或執aws codeartifact login
行 NuGet 先前設定。
安裝和設定 CodeArtifact NuGet 認證提供者
建立存放庫並設定認證提供者之後,您可以使用nuget
或 dotnet
CLI 工具來安裝和發佈套件。如需詳細資訊,請參閱 使用 NuGet 套件 CodeArtifact 及 將 NuGet 套件發佈至 CodeArtifact。
方法 2:使用登錄命令配置 nuget 或 dotnet
中的codeartifact login
命令將存儲庫端點和授權令牌 AWS CLI 添加到您的 NuGet 配置文件中,以使 nuget 或 dotnet 連接到您的存儲庫。 CodeArtifact 這將修改位於視窗和~/.config/NuGet/NuGet.Config
或 ~/.nuget/NuGet/NuGet.Config
Mac /Linux 的%appdata%\NuGet\NuGet.Config
用戶級 NuGet 配置。如需有關 NuGet 組態的詳細資訊,請參閱一般 NuGet 組態
使用命令配置 nuget 或網點網 login
-
設定您的 AWS 認證以搭配使用 AWS CLI,如中所述入門 CodeArtifact。
-
確定已正確安裝及設定 NuGet CLI 工具 (
nuget
或dotnet
)。如需指示,請參閱 Nuget或 dot net 文件。 -
使用命 CodeArtifact
login
令擷取要搭配使用的認證 NuGet。注意
如果您正在訪問您擁有的域中的存儲庫,則不需要包含
--domain-owner
。如需詳細資訊,請參閱 跨帳戶網域。
登入指令將會:
-
從 CodeArtifact 使用您的 AWS 憑據中獲取授權令牌。
-
使用 NuGet 套件來源的新項目來更新您的使用者層級 NuGet 組態。指向您的 CodeArtifact 存儲庫端點的源將被調用
。domain_name/repo_name
呼叫後的預設授權期間login
為 12 小時,login
必須呼叫以定期重新整理權杖。如需有關使用login
指令建立之授權權杖的詳細資訊,請參閱使用 login命令建立的權杖。
建立存放庫並設定驗證後,您可以使用nuget
dotnet
、或 msbuild
CLI 用戶端來安裝和發佈套件。如需詳細資訊,請參閱 使用 NuGet 套件 CodeArtifact 及 將 NuGet 套件發佈至 CodeArtifact。
方法 3:在沒有登錄命令的情況下配置 nuget 或 dotnet
對於手動配置,您必須將存儲庫端點和授權令牌添加到 NuGet 配置文件中,以使 nuget 或 dotnet 連接到您的存儲庫。 CodeArtifact
手動配置 nuget 或 dotnet 以連接到您的存儲庫。 CodeArtifact
-
使用
get-repository-endpoint
AWS CLI 命令確定您的 CodeArtifact 存儲庫端點。aws codeartifact get-repository-endpoint --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
--format nuget輸出範例:
{ "repositoryEndpoint": "https://
my_domain
-111122223333
.d.codeartifact.us-west-2
.amazonaws.com/nuget/my_repo
/" } -
使用命令從軟件包管理器獲取授權
get-authorization-token
AWS CLI 令牌以連接到存儲庫。aws codeartifact get-authorization-token --domain
my_domain
輸出範例:
{ "authorizationToken": "eyJ2I...viOw", "expiration": 1601616533.0 }
-
透過附加至步驟 3 所傳回的 URL
/v3/index.json
來建立完整的存放庫端點 URL。get-repository-endpoint
將 nuget 或 dotnet 配置為使用步驟 1 中的存儲庫端點和步驟 2 中的授權令牌。
注意
來源網址必須以結尾,nuget 或 dotnet 才能成功連線到儲存庫。
/v3/index.json
CodeArtifact輸出範例:
Package source with Name:
domain_name/repo_name
added successfully.
使用 NuGet 套件 CodeArtifact
NuGet 配置完成後 CodeArtifact,您可以使用儲存在儲存庫或其上游儲存庫之一中的 NuGet 套裝程式。 CodeArtifact
若要使nuget
用或使用儲 CodeArtifact 存庫或其上游儲存庫之一的套件版本dotnet
,請執行下列指令,以您要使用的套件名稱取代 PackageName
,並packageSourceName
使用 NuGet 組態檔中儲 CodeArtifact 存庫的來源名稱取代 PackageName。如果您使用此指login
令來設定 NuGet 組態,則來源名稱為網域名稱/repo_name
。
注意
當要求套件時, NuGet 用戶端會快取該套件的哪些版本存在。由於這種行為,先前在所需版本可用之前請求的套件,安裝可能會失敗。若要避免此失敗並成功安裝現有的套件,您可以在使用或進行安裝之前清除 NuGet 快取dotnet nuget locals all --clear
,nuget locals all --clear
或者透過提供的選項nuget
或-NoCache
選項來避免在install
和restore
指令期間使用快取dotnet
。--no-cache
若要安裝特定版本的套件
如需詳細資訊,請參閱使用 nuget.exe CLI
使用 NuGet .org 中的 NuGet 套件
您可以透過 CodeArtifact 儲存庫使用 NuGet.org
將 NuGet 套件發佈至 CodeArtifact
配置 NuGet 完成後 CodeArtifact,您可以使用nuget
或dotnet
將套件版本發佈到 CodeArtifact 儲存庫。
若要將套件版本推送至 CodeArtifact 儲存庫,請執行下列指令,並在 NuGet 組態檔中使用.nupkg
檔案的完整路徑和 CodeArtifact 儲存庫的來源名稱。如果您使用login
指令來設定 NuGet 組態,則來源名稱為domain_name/repo_name
。
注意
如果您沒有要發佈的 NuGet 封裝,您可以建立封裝。如需詳細資訊,請參閱 Microsoft 文件中的 P ackage 建立工作流程
CodeArtifact NuGet 憑證提供者參考
CodeArtifact NuGet 憑證提供者可讓您輕鬆設定和驗證您 NuGet 的 CodeArtifact 儲存庫。
CodeArtifact NuGet 認證提供者命令
本節包含 CodeArtifact NuGet 認證提供者的命令清單。這些命令必須加上前綴,dotnet codeartifact-creds
如下列範例所示。
dotnet codeartifact-creds
command
configure set profile
:設定認證提供者以使用提供 AWS 的設定檔。profile
configure unset profile
:移除設定的設定檔 (如果已設定)。install
:將認證提供者複製到資plugins
料夾。install --profile
:將認證提供者複製到profile
plugins
資料夾,並將其設定為使用提供 AWS 的設定檔。uninstall
:解除安裝認證提供者。這不會移除組態檔案的變更。uninstall --delete-configuration
:解除安裝認證提供者,並移除組態檔的所有變更。
CodeArtifact NuGet 認證提供者記錄
若要啟用 CodeArtifact NuGet 認證提供者的記錄,您必須在環境中設定記錄檔。認證提供者記錄檔包含有用的偵錯資訊,例如:
-
用於 AWS 建立連線的設定檔
-
任何驗證錯誤
-
如果提供的端點不是 CodeArtifact URL
設定 CodeArtifact NuGet 認證提供者記錄檔
export AWS_CODEARTIFACT_NUGET_LOGFILE=
/path/to/file
設定記錄檔之後,任何codeartifact-creds
指令都會將其記錄輸出附加至該檔案的內容。
CodeArtifact NuGet 認證提供者版本
下表包含 CodeArtifact NuGet 認證提供者的版本記錄資訊和下載連結。