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

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

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

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

nuget または dotnet CLI を設定する

nuget または dotnet CLI は、 CodeArtifact NuGet 認証情報プロバイダー、、 AWS 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コマンドを使用して、.org から最新バージョンの AWS. NuGet..CodeArtifactNuGetCredentialProvider tool をダウンロードします。

    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. CodeArtifact NuGet 認証情報プロバイダー (codeartifact-nuget-credentialprovider.zip) の最新バージョンを Amazon S3 バケットからダウンロードします。

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

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

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

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

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

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

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

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

  2. NuGet CLI ツール (nuget または dotnet) が正しくインストールされ、設定されていることを確認します。手順については、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コマンドで作成されたトークン」を参照してください。

リポジトリを作成して認証を設定したら、nugetdotnet または msbuild パッケージを使用して、CLI クライアントをインストールして公開できます。詳細については、「から 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 リポジトリに正常に接続するには、nuget または dotnet /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.

から NuGet パッケージを使用する CodeArtifact

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

CodeArtifact リポジトリまたはそのアップストリームリポジトリの 1 つから nugetまたは でパッケージバージョンを使用するにはdotnetpackageName を消費するパッケージの名前に置き換え、 を設定 NuGet ファイル内の CodeArtifact リポジトリのpackageSourceNameソース名に置き換えて次のコマンドを実行します。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

詳細については、マイクロソフトドキュメントnuget.exe CLI を使用してパッケージを管理する または dotnet CLI を使用してパッケージをインストールして管理する を参照してください。

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

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

NuGet で を設定したら CodeArtifactnugetまたは を使用してパッケージバージョン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 認証情報プロバイダーを使用すると、 NuGet CodeArtifact リポジトリの設定と認証が容易になります。

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