翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
で Swift パッケージマネージャーを設定する CodeArtifact
Swift Package Manager を使用して にパッケージを公開したり、 からパッケージを消費したりするには AWS CodeArtifact、まず CodeArtifact リポジトリにアクセスするための認証情報を設定する必要があります。 CodeArtifact 認証情報とリポジトリエンドポイントを使用して Swift Package Manager CLI を設定する推奨方法は、 aws codeartifact login
コマンドを使用することです。Swift パッケージマネージャーは、手動で設定することもできます。
login コマンドを使用して Swift を設定する
aws codeartifact login
コマンドを使用して、 で Swift パッケージマネージャーを設定します CodeArtifact。
注記
login コマンドを使用するには Swift 5.8 以降が必要で、Swift 5.9 以降の使用を推奨します。
aws codeartifact login
コマンドは、次の操作を行います。
-
から認証トークンを取得し CodeArtifact 、環境に保存します。認証情報の保存方法は、環境のオペレーティングシステムによって異なります。
macOS: macOS キーチェーンアプリケーションにエントリが作成されます。
Linux および Windows:
~/.netrc
ファイルにエントリが作成されます。
どちらのオペレーティングシステムの場合でも、認証情報エントリが存在する場合、このコマンドは既存のエントリを新しいトークンに置き換えます。
CodeArtifact リポジトリエンドポイント URL を取得し、Swift 設定ファイルに追加します。このコマンドは、リポジトリのエンドポイント URL を、
/path/to/project/.swiftpm/configuration/registries.json
にあるプロジェクトレベルの設定ファイルに追加します。
注記
aws codeartifact login
コマンドは、実行が必要な swift package-registry
コマンドを、Package.swift
ファイルを含むディレクトリから呼び出します。そのため、aws codeartifact login
コマンドは Swift プロジェクト内から実行する必要があります。
login コマンドを使用して Swift を設定するには
プロジェクトの
Package.swift
ファイルが含まれている Swift プロジェクトディレクトリに移動します。次の
aws codeartifact login
コマンドを実行します。所有しているドメインのリポジトリにアクセスする場合、
--domain-owner
を含める必要はありません。詳細については、「クロスアカウントドメイン」を参照してください。aws codeartifact login --tool
swift
--domainmy_domain
\ --domain-owner111122223333
--repositorymy_repo
\ [--namespacemy_namespace
]
--namespace
オプションは、指定された名前空間にある場合にのみ CodeArtifact リポジトリのパッケージを使用するようにアプリケーションを設定します。CodeArtifact 名前空間はスコープと同義であり、コードを論理グループに整理し、コードベースに複数のライブラリが含まれている場合に発生する可能性のある名前の衝突を防ぐために使用されます。
login
実行後のデフォルトの認証期限は 12 時間です。login
はトークンを定期的に更新するために実行されねばなりません。login
コマンドを使用して作成された認証トークンの詳細については、loginコマンドで作成されたトークンを参照してください。
login コマンドを使用せずに Swift を設定する
aws codeartifact login コマンドを使用して Swift を設定することを推奨しますが、Swift パッケージマネージャーの設定を手動で更新することで、login コマンドを使用せずに Swift パッケージマネージャーを設定することもできます。
次の手順では、 AWS CLI を使用して次の操作を行います。
から認証トークンを取得し CodeArtifact 、環境に保存します。認証情報の保存方法は、環境のオペレーティングシステムによって異なります。
macOS: macOS キーチェーンアプリケーションにエントリが作成されます。
Linux および Windows:
~/.netrc
ファイルにエントリが作成されます。
CodeArtifact リポジトリエンドポイント URL を取得します。
~/.swiftpm/configuration/registries.json
設定ファイルに、リポジトリのエンドポイント URL と認証タイプを含むエントリを追加します。
login コマンドを使用せずに Swift を設定するには
コマンドラインで、次のコマンドを使用して CodeArtifact 認証トークンを取得し、環境変数に保存します。
my_domain
を CodeArtifact ドメイン名に置き換えます。111122223333
をドメイン所有者の AWS アカウント ID に置き換えます。所有しているドメインのリポジトリにアクセスする場合、--domain-owner
を含める必要はありません。詳細については、「クロスアカウントドメイン」を参照してください。
次のコマンドを実行して、 CodeArtifact リポジトリのエンドポイントを取得します。リポジトリエンドポイントは、パッケージを使用または公開するリポジトリを Swift パッケージマネージャーに示すために使用されます。
my_domain
を CodeArtifact ドメイン名に置き換えます。111122223333
をドメイン所有者の AWS アカウント ID に置き換えます。所有しているドメインのリポジトリにアクセスする場合、--domain-owner
を含める必要はありません。詳細については、「クロスアカウントドメイン」を参照してください。my_repo
を CodeArtifact リポジトリ名に置き換えます。
次の URL は、リポジトリエンドポイントの例です。
https://
my_domain
-111122223333.d.codeartifact.us-west-2
.amazonaws.com/swift/my_repo
/重要
Swift パッケージマネージャーの設定に使用する場合は、リポジトリの URL エンドポイントの末尾に
login
を追加する必要があります。これはこの手順のコマンドで自動的に行われます。これら 2 つの値を環境変数に格納したら、以下のように
swift package-registry login
コマンドを使用して Swift に渡します。次に、アプリケーションで使用されるパッケージレジストリを更新して、依存関係が CodeArtifact リポジトリからプルされるようにします。このコマンドは、パッケージの依存関係を解決しようとしているプロジェクトディレクトリで実行する必要があります。
--scope
オプションは、指定された範囲内にある場合にのみ CodeArtifact リポジトリのパッケージを使用するようにアプリケーションを設定します。スコープはCodeArtifact 名前空間 と同義であり、コードを論理グループに整理し、コードベースに複数のライブラリが含まれている場合に発生する可能性のある名前の衝突を防ぐために使用されます。-
プロジェクトディレクトリで以下のコマンドを実行しプロジェクトレベルの
.swiftpm/configuration/registries.json
ファイルの内容を表示することで、正しく設定されたことを確認できます。$ cat .swiftpm/configuration/registries.json { "authentication" : { }, "registries" : { "[default]" : { "url" : "https://my-domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/swift/my-repo/" } }, "version" : 1 }
Swift Package Manager を CodeArtifact リポジトリで設定したので、これを使用して Swift パッケージをリポジトリとの間で公開および使用できます。詳細については、「Swift パッケージの使用と公開」を参照してください。