選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

搭配 nuget 或 dotnet CLI 使用 CodeArtifact

焦點模式
搭配 nuget 或 dotnet CLI 使用 CodeArtifact - CodeArtifact

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

您可以使用 nuget和 等 CLI 工具dotnet,從 CodeArtifact 發佈和使用套件。本文件提供有關設定 CLI 工具以及使用它們來發佈或取用套件的資訊。

設定 nuget 或 dotnet CLI

您可以使用 CodeArtifact NuGet 登入資料提供者、使用 或手動設定 nuget AWS CLI或 dotnet CLI。強烈建議使用登入資料提供者設定 NuGet,以簡化設定並持續進行身分驗證。

方法 1:使用 CodeArtifact NuGet 登入資料提供者設定

CodeArtifact NuGet 登入資料提供者使用 NuGet CLI 工具簡化 CodeArtifact 的身分驗證和組態。CodeArtifact 身分驗證字符的有效期最長為 12 小時。為了避免在使用 nuget 或 dotnet CLI 時手動重新整理權杖,憑證提供者會在目前的權杖過期之前定期擷取新的權杖。

重要

若要使用登入資料提供者,請確定任何現有的 AWS CodeArtifact 登入資料都已從您的nuget.config檔案清除,這些登入資料可能已手動新增,或執行 aws codeartifact login來設定 NuGet。

安裝和設定 CodeArtifact NuGet 登入資料提供者

dotnet
  1. 使用下列dotnet命令,從 NuGet.org 下載最新版本的 AWS.CodeArtifact.NuGet.CredentialProvider 工具。

    dotnet tool install -g AWS.CodeArtifact.NuGet.CredentialProvider
  2. 使用 codeartifact-creds install命令將登入資料提供者複製到 NuGet 外掛程式資料夾。

    dotnet codeartifact-creds install
  3. (選用):設定您要與登入資料提供者搭配使用的 AWS 設定檔。如果未設定,登入資料提供者將使用預設設定檔。如需 AWS CLI 設定檔的詳細資訊,請參閱具名設定檔

    dotnet codeartifact-creds configure set profile profile_name
nuget

執行下列步驟,使用 NuGet CLI 從 Amazon S3 儲存貯體安裝 CodeArtifact NuGet 登入資料提供者並進行設定。登入資料提供者將使用預設 AWS CLI 設定檔,如需設定檔的詳細資訊,請參閱具名設定檔

  1. 從 Amazon S3 儲存貯體下載最新版本的 CodeArtifact NuGet 登入資料提供者 (codeartifact-nuget-credentialprovider.zip)。

    若要檢視和下載舊版,請參閱 CodeArtifact NuGet 登入資料提供者版本

  2. 解壓縮檔案。

  3. 在 Windows %user_profile%/.nuget/plugins/netfx/~/.nuget/plugins/netfx Linux 或 MacOS 上,將 AWS.CodeArtifact.NuGetCredentialProvider 資料夾從 netfx 資料夾複製到 。

  4. 在 Windows %user_profile%/.nuget/plugins/netcore/~/.nuget/plugins/netcore Linux 或 MacOS 上,將 AWS.CodeArtifact.NuGetCredentialProvider 資料夾從 netcore 資料夾複製到 。

  1. 使用下列dotnet命令,從 NuGet.org 下載最新版本的 AWS.CodeArtifact.NuGet.CredentialProvider 工具。

    dotnet tool install -g AWS.CodeArtifact.NuGet.CredentialProvider
  2. 使用 codeartifact-creds install命令將登入資料提供者複製到 NuGet 外掛程式資料夾。

    dotnet codeartifact-creds install
  3. (選用):設定您要與登入資料提供者搭配使用的 AWS 設定檔。如果未設定,登入資料提供者將使用預設設定檔。如需 AWS CLI 設定檔的詳細資訊,請參閱具名設定檔

    dotnet codeartifact-creds configure set profile profile_name

建立儲存庫並設定登入資料提供者之後,您可以使用 nugetdotnet CLI 工具來安裝和發佈套件。如需詳細資訊,請參閱 從 CodeArtifact 取用 NuGet 套件將 NuGet 套件發佈至 CodeArtifact

方法 2:使用登入命令設定 nuget 或 dotnet

中的 codeartifact login命令會將儲存庫端點和授權字符 AWS CLI 新增至您的 NuGet 組態檔案,讓 nuget 或 dotnet 連線到 CodeArtifact 儲存庫。這將修改位於 的使用者層級 NuGet 組態,%appdata%\NuGet\NuGet.Config適用於 Windows 和 ~/.config/NuGet/NuGet.Config ~/.nuget/NuGet/NuGet.Config Mac/Linux。如需 NuGet 組態的詳細資訊,請參閱常見 NuGet 組態

使用 login命令設定 nuget 或 dotnet
  1. 設定您的 AWS 登入資料以搭配 使用 AWS CLI,如 中所述CodeArtifact 入門

  2. 確定 NuGet CLI 工具 (nugetdotnet) 已正確安裝和設定。如需說明,請參閱 nugetdotnet 文件。

  3. 使用 CodeArtifact login命令來擷取登入資料,以便與 NuGet 搭配使用。

    注意

    如果您要存取您擁有之網域中的儲存庫,則不需要包含 --domain-owner。如需詳細資訊,請參閱跨帳戶網域

    dotnet
    重要

    Linux 和 MacOS 使用者:由於非 Windows 平台不支援加密,因此您擷取的登入資料會以純文字形式儲存在組態檔案中。

    aws codeartifact login --tool dotnet --domain my_domain --domain-owner 111122223333 --repository my_repo
    nuget
    aws codeartifact login --tool nuget --domain my_domain --domain-owner 111122223333 --repository my_repo
    重要

    Linux 和 MacOS 使用者:由於非 Windows 平台不支援加密,因此您擷取的登入資料會以純文字形式儲存在組態檔案中。

    aws codeartifact login --tool dotnet --domain my_domain --domain-owner 111122223333 --repository my_repo

登入命令將:

  • 使用您的 AWS 登入資料從 CodeArtifact 擷取授權字符。

  • 使用 NuGet 套件來源的新項目來更新您的使用者層級 NuGet 組態。指向 CodeArtifact 儲存庫端點的來源將稱為 domain_name/repo_name

呼叫 後的預設授權期間login為 12 小時,login必須呼叫 以定期重新整理字符。如需使用 login命令建立的授權字符的詳細資訊,請參閱 使用 login命令建立的字符

建立儲存庫並設定身分驗證之後dotnet,您可以使用 nuget、 或 msbuild CLI 用戶端來安裝和發佈套件。如需詳細資訊,請參閱 從 CodeArtifact 取用 NuGet 套件將 NuGet 套件發佈至 CodeArtifact

方法 3:在沒有登入命令的情況下設定 nuget 或 dotnet

對於手動組態,您必須將儲存庫端點和授權字符新增至 NuGet 組態檔案,以啟用 nuget 或 dotnet 來連線至 CodeArtifact 儲存庫。

手動設定 nuget 或 dotnet 以連接至 CodeArtifact 儲存庫。

  1. 使用 get-repository-endpoint AWS CLI 命令判斷 CodeArtifact 儲存庫端點。

    aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format nuget

    輸出範例:

    { "repositoryEndpoint": "https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/nuget/my_repo/" }
  2. 使用 get-authorization-token AWS CLI 命令,從套件管理員取得連接至儲存庫的授權字符。

    aws codeartifact get-authorization-token --domain my_domain

    輸出範例:

    { "authorizationToken": "eyJ2I...viOw", "expiration": 1601616533.0 }
  3. 透過附加/v3/index.json至步驟 3 get-repository-endpoint中 傳回的 URL 來建立完整的儲存庫端點 URL。

  4. 設定 nuget 或 dotnet 以使用步驟 1 的儲存庫端點和步驟 2 的授權字符。

    注意

    來源 URL 必須以 結尾/v3/index.json,讓 nuget 或 dotnet 成功連線至 CodeArtifact 儲存庫。

    dotnet

    Linux 和 MacOS 使用者:由於非 Windows 平台不支援加密,您必須將 --store-password-in-clear-text旗標新增至下列命令。請注意,這會將您的密碼以純文字形式存放在您的組態檔案中。

    dotnet nuget add source https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/nuget/my_repo/v3/index.json --name packageSourceName --password eyJ2I...viOw --username aws
    注意

    若要更新現有的來源,請使用 dotnet nuget update source命令。

    nuget
    nuget sources add -name domain_name/repo_name -Source https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/nuget/my_repo/v3/index.json -password eyJ2I...viOw -username aws

    Linux 和 MacOS 使用者:由於非 Windows 平台不支援加密,您必須將 --store-password-in-clear-text旗標新增至下列命令。請注意,這會將您的密碼以純文字形式存放在您的組態檔案中。

    dotnet nuget add source https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/nuget/my_repo/v3/index.json --name packageSourceName --password eyJ2I...viOw --username aws
    注意

    若要更新現有的來源,請使用 dotnet nuget update source命令。

    輸出範例:

    Package source with Name: domain_name/repo_name added successfully.
    注意

    若要使用雙堆疊端點,請使用 codeartifact.region.on.aws端點。

從 CodeArtifact 取用 NuGet 套件

使用 CodeArtifact 設定 NuGet 後,您可以使用存放在 CodeArtifact 儲存庫或其其中一個上游儲存庫中的 NuGet 套件。

若要使用 CodeArtifact 儲存庫或其中一個上游儲存庫中的套件版本,請執行下列命令,將 packageName 取代為您想要使用的套件名稱nugetdotnet,並使用 NuGet 組態檔案中 CodeArtifact 儲存庫的來源名稱取代 packageSourceName。如果您使用 login命令來設定 NuGet 組態,來源名稱為 domain_name/repo_name

注意

請求套件時,NuGet 用戶端會快取該套件存在的版本。由於此行為,在所需版本可用之前,先前請求的套件安裝可能會失敗。若要避免此失敗並成功安裝存在的套件,您可以在安裝 之前使用 nuget locals all --clear或 清除 NuGet 快取dotnet nuget locals all --clear,或藉由提供 的 -NoCache選項nuget或 的 --no-cache選項,避免在 installrestore命令期間使用快取dotnet

dotnet
dotnet add package packageName --source packageSourceName
nuget
nuget install packageName -Source packageSourceName
dotnet add package packageName --source packageSourceName

安裝特定版本的套件

dotnet
dotnet add package packageName --version 1.0.0 --source packageSourceName
nuget
nuget install packageName -Version 1.0.0 -Source packageSourceName
dotnet add package packageName --version 1.0.0 --source packageSourceName

如需詳細資訊,請參閱 Microsoft 文件中的使用 nuget.exe CLI 管理套件或使用 dotnet CLI 安裝和管理套件

您可以透過 CodeArtifact 儲存庫使用 NuGet.org 的 NuGet 套件,方法是使用 NuGet.org 的外部連線來設定儲存庫。 NuGet.orgNuGet.org 取用的套件會擷取並儲存在 CodeArtifact 儲存庫中。如需新增外部連線的詳細資訊,請參閱 將 CodeArtifact 儲存庫連線至公有儲存庫

將 NuGet 套件發佈至 CodeArtifact

使用 CodeArtifact 設定 NuGet 後,您可以使用 nugetdotnet將套件版本發佈至 CodeArtifact 儲存庫。

若要將套件版本推送至 CodeArtifact 儲存庫,請在 NuGet 組態檔案中,使用.nupkg檔案的完整路徑和 CodeArtifact 儲存庫的來源名稱執行下列命令。如果您使用 login命令來設定 NuGet 組態,則來源名稱為 domain_name/repo_name

注意

如果您沒有要發佈的 NuGet 套件,您可以建立該套件。如需詳細資訊,請參閱 Microsoft 文件中的套件建立工作流程

dotnet
dotnet nuget push path/to/nupkg/SamplePackage.1.0.0.nupkg --source packageSourceName
nuget
nuget push path/to/nupkg/SamplePackage.1.0.0.nupkg -Source packageSourceName
dotnet nuget push path/to/nupkg/SamplePackage.1.0.0.nupkg --source packageSourceName

CodeArtifact NuGet 登入資料提供者參考

CodeArtifact NuGet 登入資料提供者可讓您輕鬆地使用 CodeArtifact 儲存庫設定和驗證 NuGet。

CodeArtifact NuGet 登入資料提供者命令

本節包含 CodeArtifact NuGet 登入資料提供者的命令清單。這些命令必須以 做為字首,dotnet codeartifact-creds如下列範例所示。

dotnet codeartifact-creds command
  • configure set profile profile:設定登入資料提供者以使用提供的 AWS 設定檔。

  • 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 登入資料提供者的版本歷史記錄資訊和下載連結。

版本 變更 發佈日期 下載連結 (S3)

1.0.2 (最新)

升級的相依性

06/26/2024

下載 1.0.2 版

1.0.1

新增對 net5、net6 和 SSO 設定檔的支援

03/05/2022

下載 v1.0.1

1.0.0

初始 CodeArtifact NuGet 登入資料提供者版本

11/20/2020

下載 v1.0.0

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。