翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
CodeArtifact をnuget または dotnet CLI で使用する
nuget および dotnet のような CLI ツールを使用して、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 ファイルからクリアされているか、 を実行して NuGet aws codeartifact loginを以前に設定していることを確認します。
CodeArtifact NuGet 認証情報プロバイダーのインストールと設定
リポジトリを作成して認証情報プロバイダーを設定したら、nuget または dotnet CLI ツールを使用して、パッケージをインストールして公開できます。詳細については、CodeArtifact から NuGet パッケージを消費するおよびNuGet パッケージを CodeArtifact に公開するを参照してください。
方法 2: login コマンドで nuget または dotnet を設定する
の codeartifact login コマンドは、NuGet 設定ファイルにリポジトリエンドポイントと認可トークン AWS CLI を追加し、nuget または dotnet が CodeArtifact リポジトリに接続できるようにします。これにより、Windows の場合は%appdata%\NuGet\NuGet.Config、Mac/Linux の場合は ~/.config/NuGet/NuGet.Config または ~/.nuget/NuGet/NuGet.Config にあるユーザーレベルの NuGet 設定が変更されます。NuGet 設定の詳細については、一般的な NuGet の設定
nuget または dotnet を login コマンドで設定する
-
「」の説明に従って AWS CLI、 で使用する AWS 認証情報を設定しますCodeArtifact の開始方法。
-
NuGet CLI ツール (
nugetまたはdotnet) が正しくインストールされ、設定されていることを確認します。手順については、nugetまたは dotnet ドキュメントを参照してください。 -
CodeArtifact
loginコマンドを使用して、NuGet で使用する認証情報を取得する。注記
所有しているドメインのリポジトリにアクセスする場合は、
--domain-ownerを含める必要はありません。詳細については、「クロスアカウントドメイン」を参照してください。
login コマンドは次の処理を行います:
-
AWS 認証情報を使用して、CodeArtifact から認可トークンを取得します。
-
ユーザーレベルの NuGet 設定を、NuGet パッケージソースの新しいエントリで更新します。CodeArtifact リポジトリエンドポイントを指すソースは
と呼ばれます。domain_name/repo_name
login を呼び出した後のデフォルトの認可期間は12時間であり、トークンを定期的に更新するには、login を呼び出す必要があります。login コマンドを使用して作成された認可トークンの詳細については、「loginコマンドで作成されたトークン」を参照してください。
リポジトリを作成して認証を設定したら、nuget、dotnet または msbuild パッケージを使用して、CLI クライアントをインストールして公開できます。詳細については、CodeArtifact から NuGet パッケージを消費するおよびNuGet パッケージを CodeArtifact に公開するを参照してください。
方法 3: login コマンドなしで nuget または dotnet を設定する
マニュアル設定の場合、リポジトリエンドポイントと認可)トークンを NuGet 設定ファイルに追加して、nuget または dotnet が CodeArtifact リポジトリに接続できるようにする必要があります。
CodeArtifact リポジトリに接続するには、nuget または dotnet を手動で設定します。
-
get-repository-endpointAWS CLI コマンドを使用して CodeArtifact リポジトリエンドポイントを決定します。aws codeartifact get-repository-endpoint --domainmy_domain--domain-owner111122223333--repositorymy_repo--format nuget出力例:
{ "repositoryEndpoint": "https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/nuget/my_repo/" } -
get-authorization-tokenAWS CLI コマンドを使用して、パッケージマネージャーからリポジトリに接続するための認可トークンを取得します。aws codeartifact get-authorization-token --domainmy_domain出力例:
{ "authorizationToken": "eyJ2I...viOw", "expiration": 1601616533.0 } -
ステップ 3 の
get-repository-endpointで返された URL に/v3/index.jsonを追加して、完全なリポジトリエンドポイント URL を作成します。 ステップ 1 のリポジトリエンドポイントとステップ 2 の認可トークンを使用するには、nuget または dotnet を設定します。
注記
nuget または dotnet が CodeArtifact リポジトリに正常に接続できるようにするには、ソース URL の最後が
/v3/index.jsonである必要があります。出力例:
Package source with Name:domain_name/repo_nameadded successfully.注記
デュアルスタックエンドポイントを使用するには、
codeartifact.エンドポイントを使用します。region.on.aws
CodeArtifact から NuGet パッケージを消費する
いったん CodeArtifact でNuGetを設定 したら、CodeArtifact リポジトリまたはその上流リポジトリの 1 つに保存されている NuGet パッケージを使用できます。
CodeArtifact リポジトリまたはその上流リポジトリの 1 つからパッケージバージョンを nuget または dotnet で消費するには、次のコマンドを実行し、packageName を消費したいパッケージの名前で置き換え、packageSourceName をNuGet 設定ファイル内の CodeArtifact リポジトリのソース名で置き換えます。login コマンド を使用して NuGet 設定を設定した場合、ソース名は domain_name/repo_name です。
注記
パッケージがリクエストされると、NuGet クライアントはパッケージのどのバージョンが存在するかをキャッシュします。この動作のため、目的のバージョンが入手可能になる前にリクエストされたパッケージのインストールが失敗することがあります。この問題を回避し、既存のパッケージを正常にインストールするには、nuget locals all --clear または dotnet nuget locals all --clear を使用してインストール前に NuGet キャッシュをクリアするか、またはnuget の -NoCache オプションか dotnet の --no-cache オプションを指定して、install コマンドおよび restore コマンド中にキャッシュしないようにします。
パッケージの特定バージョンをインストールするには
詳細については、マイクロソフトドキュメント の nuget.exe CLI を使用してパッケージを管理する
NuGet.org から NuGet パッケージを消費する
NuGet パッケージは、Nuget.org
NuGet パッケージを CodeArtifact に公開する
いったん CodeArtifact で NuGet を設定 すると、nuget または dotnet を使用して CodeArtifact リポジトリにパッケージバージョンを公開できます。
パッケージバージョンを CodeArtifact リポジトリにプッシュするには、次のコマンドを、NuGet 設定ファイル内の .nupkg ファイルと CodeArtifact リポジトリのソース名にフルパスで実行します。login コマンドを使用して NuGet 設定を設定した場合、ソース名は domain_name/repo_name です。
注記
公開するパッケージがない場合は、NuGet パッケージを作成できます。詳細については、Microsoft ドキュメント の パッケージ作成ワークフロー
CodeArtifact NuGet 認証情報プロバイダーの参照
CodeArtifact NuGet 認証情報プロバイダーを使用すると、CodeArtifact リポジトリを使用して NuGet を簡単に設定および認証できます。
CodeArtifact NuGet 認証情報プロバイダーのコマンド
このセクションには、CodeArtifact NuGet 認証情報プロバイダーのコマンドリストが含まれます。これらのコマンドには、次の例のように、dotnet codeartifact-creds でプレフィックスを付ける必要があります。
dotnet codeartifact-credscommand
configure set profile: 提供された AWS プロファイルを使用するように認証情報プロバイダーを設定します。profileconfigure unset profile: 設定済みのプロファイルを削除します。install: 認証情報プロバイダーをpluginsフォルダにコピーします。install --profile: 認証情報プロバイダーをprofilepluginsフォルダにコピーし、提供された 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.1 |
net5、net6、および SSO プロファイルのサポートが追加されました。 |
03/05/2022 |
|
|
1.0.0 |
CodeArtifact NuGet 認証情報プロバイダーの初期リリース |
11/20/2020 |