翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Cargo を使用して、 CodeArtifact リポジトリからクレートを発行およびダウンロードしたり、Rust コミュニティのクレートレジストリである crates.io
で貨物を設定する CodeArtifact
Cargo を使用して からクレートをインストールして公開するには AWS CodeArtifact、まず CodeArtifact リポジトリ情報を使用してそれらを設定する必要があります。 CodeArtifact リポジトリエンドポイント情報と認証情報を使用して Cargo を設定するには、次のいずれかの手順を実行します。
コンソールの手順を使用して貨物を設定する
コンソールの設定手順を使用して、Cargo を CodeArtifact リポジトリに接続できます。コンソールの手順では、 CodeArtifact リポジトリ用にカスタマイズされた貨物設定を提供します。このカスタム設定を使用して、 CodeArtifact 情報を検索して入力することなく、貨物をセットアップできます。
-
https://console.aws.amazon.com/codesuite/Codeartifact/home
で AWS CodeArtifact コンソールを開きます。 -
ナビゲーションペインでリポジトリ を選択し、貨物に接続するリポジトリを選択します。
-
接続手順の表示 を選択します。
-
オペレーティングシステムを選択します。
-
貨物 を選択します。
-
生成された手順に従って、Cargo を CodeArtifact リポジトリに接続します。
貨物を手動で設定する
コンソールから設定手順を使用できない場合、または使用しない場合は、次の手順を使用して、Cargo を CodeArtifact リポジトリに手動で接続できます。
で Cargo を設定するには CodeArtifact、Cargo 設定で CodeArtifact リポジトリをレジストリとして定義し、認証情報を指定する必要があります。
置換
my_registry
レジストリ名を使用します。置換
my_domain
CodeArtifact ドメイン名を使用します。置換
111122223333
ドメインの所有者の AWS アカウント ID。所有しているドメインのリポジトリにアクセスする場合、--domain-owner
を含める必要はありません。詳細については、「クロスアカウントドメイン」を参照してください。置換
my_repo
CodeArtifact リポジトリ名を使用します。
設定をコピーして、Cargo パッケージをリポジトリに発行してダウンロードし、システムレベルの設定または.cargo/config.toml
プロジェクトレベルの設定のために ~/.cargo/config.toml
ファイルに保存します。
[registries.
my_registry
] index = "sparse+https://my_domain
-111122223333
.d.codeartifact.us-west-2
.amazonaws.com/cargo/my_repo
/" credential-provider = "cargo:token-from-stdout aws codeartifact get-authorization-token --domainmy_domain
--domain-owner111122223333
--regionus-west-2
--query authorizationToken --output text" [registry] default = "my_registry
" [source.crates-io] replace-with = "my_registry
"
前の例の [registries.
セクションでは、 を使用してレジストリを定義my_registry
]
し、 my_registry
index
と credential-provider
情報を提供します。
-
index
は、 で終わる CodeArtifact リポジトリエンドポイントであるレジストリのインデックスURLの を指定します/
。sparse+
プレフィックスは、Git リポジトリではないレジストリに必要です。注記
デュアルスタックエンドポイントを使用するには、
codeartifact.
エンドポイントを使用します。region
.on.aws -
credential-provider
は、特定のレジストリの認証情報プロバイダーを指定します。が設定されcredential-provider
ていない場合、 のプロバイダーregistry.global-credential-providers
が使用されます。credential-provider
を に設定するとcargo:token-from-stdout
、Cargo クライアントは CodeArtifact リポジトリから発行またはダウンロードするときに新しい認証トークンを自動的に取得するため、12 時間ごとに認証トークンを手動で更新する必要はありません。
このセクションでは、使用されるデフォルトのレジストリ[registry]
を定義します。
-
default
は、 で定義されているレジストリの名前を指定し[registries.
、 CodeArtifact リポジトリから発行またはダウンロードするときにデフォルトで使用します。my_registry
]
[source.crates-io]
このセクションでは、レジストリが指定されていない場合に使用されるデフォルトのレジストリを定義します。
-
replace-with = "
は、パブリックレジストリ crates.io を で定義された CodeArtifact リポジトリに置き換えますmy_registry
"[registries.
。この設定は、crates.io などの外部接続からパッケージをリクエストする必要がある場合に推奨されます。my_registry
]依存関係の混乱攻撃を防ぐパッケージオリジンコントロールなど CodeArtifact、 のすべての利点を得るには、ソース置換を使用することをお勧めします。ソースの置き換えにより、 CodeArtifact はすべてのリクエストを外部接続にプロキシし、パッケージを外部接続からリポジトリにコピーします。ソースを置き換えない場合、Cargo クライアントはプロジェクト内の
Cargo.toml
ファイル内の設定に基づいてパッケージを直接取得します。依存関係が でマークされていない場合registry=
、Cargo クライアントは CodeArtifact リポジトリと通信せずに crates.io から直接取得します。my_registry
注記
ソース置換の使用を開始し、ソース置換を使用しないように設定ファイルを更新すると、エラーが発生する可能性があります。逆のシナリオでもエラーが発生する可能性があります。したがって、プロジェクトの設定を変更しないことをお勧めします。
貨物クレートのインストール
CodeArtifact リポジトリまたは crates.io
から貨物クレートをインストールする CodeArtifact
貨物 (cargo
) を使用してCLI、 CodeArtifact リポジトリから特定のバージョンの貨物クレートをすばやくインストールできます。
を使用して CodeArtifact リポジトリから貨物クレートをインストールするには cargo
まだ設定していない場合は、「」の手順に従ってで貨物を設定して使用する CodeArtifact、 CodeArtifact リポジトリを適切な認証情報で使用する
cargo
CLIように を設定します。-
から貨物クレートをインストールするには、次のコマンドを使用します CodeArtifact。
cargo add my_cargo_package@
1.0.0
詳細については、「 貨物ブック」の「貨物追加
」を参照してください。
に貨物クレートを発行する CodeArtifact
を使用して CodeArtifact リポジトリに Cargo クレートを発行するには、次の手順に従いますcargo
CLI。
まだ設定していない場合は、「」の手順に従ってで貨物を設定して使用する CodeArtifact、 CodeArtifact リポジトリを適切な認証情報で使用する
cargo
CLIように を設定します。-
次のコマンドを使用して、貨物クレートを CodeArtifact リポジトリに発行します。
cargo publish
詳細については、「 貨物ブック」の「貨物パブリッシュ
」を参照してください。