nuget または dotnet CodeArtifact で使用する CLI - CodeArtifact

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

nuget または dotnet CodeArtifact で使用する CLI

nuget や などのCLIツールを使用してdotnet、 からパッケージを発行および使用できます CodeArtifact。このドキュメントでは、CLIツールの設定と、そのツールを使用してパッケージを発行または使用する方法について説明します。

nuget または dotnet を設定する CLI

CodeArtifact NuGet 認証情報プロバイダーCLI、、 AWS CLIまたは を使用して、nuget または dotnet を設定できます。設定を簡素化し、認証を継続するために、認証情報プロバイダー NuGet で を設定することを強くお勧めします。

方法 1: CodeArtifact NuGet 認証情報プロバイダーで を設定する

CodeArtifact NuGet 認証情報プロバイダーは、 ツール CodeArtifact を使用して NuGet CLI の認証と設定を簡素化します。 CodeArtifact 認証トークンは最大 12 時間有効です。nuget または dotnet の使用中にトークンを手動で更新する必要を避けるためCLI、認証情報プロバイダーは、現在のトークンの有効期限が切れる前に定期的に新しいトークンを取得します。

重要

認証情報プロバイダーを使用するには、手動で追加した既存の認証情報、または を実行して NuGet 以前にaws codeartifact login設定した既存の AWS CodeArtifact 認証情報がnuget.configファイルから消去されていることを確認します。

CodeArtifact NuGet 認証情報プロバイダーのインストールと設定

dotnet
  1. 次のdotnetコマンドを使用して、AWS..CodeArtifactNuGetCredentialProvider .tool の最新バージョンを NuGet.org からダウンロードします。

    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) の最新バージョンをダウンロードします。 Amazon S3

    以前のバージョンを表示してダウンロードするには、「CodeArtifact NuGet 認証情報プロバイダーのバージョン」を参照してください。

  2. ファイル を解凍します。

  3. netfx フォルダから AWS.CodeArtifact.NuGetCredentialProvider フォルダを Windows %user_profile%/.nuget/plugins/netfx/ または Linux または MacOS ~/.nuget/plugins/netfxの にコピーします。

  4. netcore フォルダから AWS.CodeArtifact.NuGetCredentialProvider フォルダを %user_profile%/.nuget/plugins/netcore/ Windows または Linux または MacOS ~/.nuget/plugins/netcoreの にコピーします。

リポジトリを作成し、認証情報プロバイダーを設定したら、 nugetまたは dotnetCLIツールを使用してパッケージをインストールして公開できます。詳細については、「から NuGet パッケージを消費する CodeArtifact」および「 NuGet パッケージを に発行する CodeArtifact」を参照してください。

方法 2: login コマンドで nuget または dotnet を設定する

codeartifact login コマンドは、設定 NuGet ファイルにリポジトリエンドポイントと承認トークン AWS CLI を追加し、nuget または dotnet が CodeArtifact リポジトリに接続できるようにします。これにより、Windows および Mac/Linux %appdata%\NuGet\NuGet.Config ~/.config/NuGet/NuGet.Config~/.nuget/NuGet/NuGet.Config用の にあるユーザーレベルの NuGet 設定が変更されます。 NuGet 設定の詳細については、「一般的な NuGet 設定」を参照してください。

nuget または dotnet を login コマンドで設定する
  1. の説明に従って AWS CLI、 で使用する AWS 認証情報を設定しますCodeArtifact の開始方法

  2. ツール (nuget または dotnet) NuGet CLIが正しくインストールされ、設定されていることを確認します。手順については、nuget または dotnet ドキュメントを参照してください。

  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

login コマンドは次の処理を行います:

  • AWS 認証情報 CodeArtifact を使用して認証トークンを取得します。

  • NuGet パッケージソースの新しいエントリを使用してユーザーレベルの NuGet 設定を更新します。 CodeArtifact リポジトリエンドポイントを指すソースは と呼ばれますdomain_name/repo_name

login を呼び出した後のデフォルトの認可時間は 12 時間であり、トークンを定期的に更新するには、login を呼び出す必要があります。login コマンドで作成される認可トークンの詳細については、「loginコマンドで作成されたトークン」を参照してください。

リポジトリを作成して認証を設定したらnuget、、dotnet、または msbuildCLIクライアントを使用してパッケージをインストールして公開できます。詳細については、「から NuGet パッケージを消費する CodeArtifact」および「 NuGet パッケージを に発行する CodeArtifact」を参照してください。

方法 3: login コマンドなしで nuget または dotnet を設定する

手動設定では、設定 NuGet ファイルにリポジトリエンドポイントと承認トークンを追加して、nuget または dotnet が CodeArtifact リポジトリに接続できるようにする必要があります。

CodeArtifact リポジトリに接続するように nuget または dotnet を手動で設定します。

  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. ステップ 3 get-repository-endpointでURL返された /v3/index.jsonに を追加してURL、リポジトリエンドポイント全体を作成します。

  4. ステップ 1 のリポジトリエンドポイントとステップ 2 の認可トークンを使用するには、nuget または dotnet を設定します。

    注記

    CodeArtifact リポジトリに正常に接続するには、ソースが /v3/index.json で終わるURL必要があります。

    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

    出力例:

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

    デュアルスタックエンドポイントを使用するには、codeartifact.region.on.awsエンドポイントを使用します。

から NuGet パッケージを消費する CodeArtifact

NuGet で を設定する CodeArtifactと、 CodeArtifact リポジトリまたはそのアップストリームリポジトリのいずれかに保存されている NuGet パッケージを消費できます。

nuget または を使用して CodeArtifact リポジトリまたはそのアップストリームリポジトリのいずれかからパッケージバージョンを使用するにはdotnet、次のコマンドを置き換えます。packageName 消費するパッケージの名前と packageSourceName NuGet 設定ファイル内の CodeArtifact リポジトリのソース名。login コマンドを使用して設定を行った場合 NuGet 、ソース名は になります。domain_name/repo_name.

注記

パッケージがリクエストされると、 NuGet クライアントはそのパッケージのどのバージョンが存在するかをキャッシュします。この動作のため、目的のバージョンが入手可能になる前にリクエストされたパッケージのインストールが失敗することがあります。この障害を回避し、存在するパッケージを正常にインストールするには、 nuget locals all --clear または を使用してインストールする前に NuGet キャッシュをクリアするかdotnet nuget locals all --clear、 のオプションまたは -NoCacheのオプションを指定して、 install コマンドと restore コマンドの間にキャッシュを使用しないようにしますnuget--no-cachedotnet

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

パッケージの特定バージョンをインストールするには

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

詳細については、Microsoft ドキュメントの「nuget.exe を使用したパッケージの管理CLI」または「dotnet を使用したパッケージのインストールと管理CLI」を参照してください。

NuGet.org への外部接続を使用して CodeArtifact リポジトリを設定することで、リポジトリを介して NuGet.org からの NuGet パッケージを消費できます。NuGet.org から消費されるパッケージは、 CodeArtifact リポジトリに取り込まれて保存されます。外部接続の追加方法の詳細については、「 CodeArtifact リポジトリをパブリックリポジトリに接続する」を参照してください。

NuGet パッケージを に発行する CodeArtifact

NuGet で を設定 CodeArtifactしたら、 nugetまたは を使用してパッケージバージョンdotnetを CodeArtifact リポジトリに発行できます。

パッケージバージョンを CodeArtifact リポジトリにプッシュするには、 .nupkg ファイルへのフルパスと NuGet 設定ファイルの 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

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 認証情報プロバイダーのバージョン履歴情報とダウンロードリンクを示します。

Version 変更 公開日 ダウンロードリンク (S3)

1.0.2 (最新)

アップグレードされた依存関係

06/26/2024

v1.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 をダウンロード