翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
CodeArtifact での Swift パッケージマネージャーの設定
Swift パッケージマネージャーを使用して CodeArtifact にパッケージを公開したり、AWS CodeArtifact のパッケージを使用したりするには、まず CodeArtifact リポジトリにアクセスするための認証情報を設定する必要があります。CodeArtifact の認証情報とリポジトリエンドポイントに Swift パッケージマネージャー CLI を設定するには、aws codeartifact login コマンドの使用を推奨します。Swift パッケージマネージャーは、手動で設定することもできます。
login コマンドを使用して Swift を設定する
aws codeartifact login コマンドを使用して、CodeArtifact で Swift パッケージマネージャーを設定します。
注記
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 --toolswift--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/注記
デュアルスタックエンドポイントを使用するには、
codeartifact.エンドポイントを使用してください。region.on.aws重要
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 }
CodeArtifact リポジトリでの Swift パッケージマネージャーの設定は以上です。これで Swift パッケージマネージャーを使用して Swift パッケージをリポジトリに公開したり、リポジトリから Swift パッケージを使用したりできるようになります。詳細については、「Swift パッケージの使用と公開」を参照してください。