翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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 認証情報プロバイダーのインストールと設定
以下の
dotnet
コマンドを使用して、NuGet.org の AWS.CodeArtifact.NuGet.CredentialProvider ツールをダウンロードします。 dotnet tool install -g AWS.CodeArtifact.NuGet.CredentialProvider
-
codeartifact-creds install
コマンドを使用して、認証情報プロバイダーを NuGet プラグインフォルダにコピーします。dotnet codeartifact-creds install
-
(オプション): 認証情報プロバイダーで使用する AWS プロファイルを設定します。設定されていない場合は、認証情報プロバイダーはデフォルトのプロファイルを使用します。 AWS CLI プロファイルの詳細については、「名前付きプロファイル」を参照してください。
dotnet codeartifact-creds configure set profile
profile_name
リポジトリを作成して認証情報プロバイダーを設定したら、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
を含める必要はありません。詳細については、「クロスアカウントドメイン」を参照してください。重要
Linux および MacOS のユーザー: 暗号化は Windows 以外のプラットフォームではサポートされていないため、取得した資格情報はプレーンテキストとして設定ファイルに保存されます。
aws codeartifact login --tool
dotnet
--domainmy_domain
--domain-owner111122223333
--repositorymy_repo
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-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 の
get-repository-endpoint
で返された URL に/v3/index.json
を追加して、完全なリポジトリエンドポイント URL を作成します。 ステップ 1 のリポジトリエンドポイントとステップ 2 の認可トークンを使用するには、nuget または dotnet を設定します。
注記
nuget または dotnet が CodeArtifact リポジトリに正常に接続できるようにするには、ソース URL の最後が
/v3/index.json
である必要があります。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 --namepackageSourceName
--passwordeyJ2I...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 リポジトリまたはその上流リポジトリの 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
コマンド中にキャッシュしないようにします。
dotnet add package
packageName
--sourcepackageSourceName
パッケージの特定バージョンをインストールするには
dotnet add package
packageName
--version1.0.0
--sourcepackageSourceName
詳細については、マイクロソフトドキュメント の 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 ドキュメント の パッケージ作成ワークフロー
dotnet nuget push
path/to/nupkg/SamplePackage.1.0.0.nupkg
--sourcepackageSourceName
CodeArtifact NuGet 認証情報プロバイダーの参照
CodeArtifact NuGet 認証情報プロバイダーを使用すると、CodeArtifact リポジトリを使用して NuGet を簡単に設定および認証できます。
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 認証情報プロバイダーのバージョン履歴情報とダウンロードリンクを次の表に示します。
バージョン | 変更 | 公開日 | ダウンロードリンク (S3) |
---|---|---|---|
1.0.2 (最新) |
アップグレードされた依存関係 |
06/26/2024 |
|
1.0.1 |
net5、net6、および SSO プロファイルのサポートが追加されました。 |
03/05/2022 |
|
1.0.0 |
CodeArtifact NuGet 認証情報プロバイダーの初期リリース |
11/20/2020 |