Azure Artifacts を使用すると、開発者は、直接発行された場合でもアップストリーム ソースから保存された場合でも、フィードでさまざまなパッケージの種類をホストできます。 このガイドは、プロジェクトを設定し、Azure Artifacts フィードで認証し、コマンド ラインを使用して、フィードから Cargo パッケージを直接復元するのに役立ちます。
[前提条件]
| 製品 | 必要条件 |
|---|---|
| Azure DevOps | - Azure DevOps 組織。 - Azure DevOps プロジェクト。 - rustup をダウンロードしてインストールします。 Cargo バージョン 1.74.0 以降が必要です。 |
フィードの作成
Azure Artifacts で Rust クレートを使用して発行するには、2 つの異なるフィードを使用することをお勧めします。1 つは 、crates.io からクレートを使用するための専用フィードと、内部クレートを発行するための別のフィードです。 詳細については、 ソース置換 を参照してください。 フィードをまだ設定していない場合は、次の方法でフィードを作成します。
Azure DevOps 組織にサインインしてから、プロジェクトに移動します。
Artifacts を選択し、次に Create Feed を選択します。
フィードの 名前 を指定し、 その可視性を設定します。 フィードが crates.io からクレートを使用することを目的としている場合は、 一般的なパブリック ソースのパッケージを含めるオプションをオンにします。 フィードがプライベート パッケージを発行する場合は、そのオプションをオフのままにします。 最後に、フィードに適した スコープ を選択します。 組織全体のスコープよりも、フィードを特定のプロジェクトにスコープ設定することをお勧めします。
終わったら [作成] を選択します。
パッケージの復元
依存関係を復元するには、Cargo.tomlの下の[dependencies]に依存関係が一覧表示されていることを確認します。
crates.io のクレートを replace-with 構成を使用してアップストリームフィード経由で参照する場合は、次のように指定します。
[dependencies]
CRATE_NAME = "VERSION_NUMBER"
プライベート Azure Artifacts フィードからクレートを参照する場合は、レジストリを明示的に指定する必要があります。
[dependencies]
CRATE_NAME = { version = "VERSION_NUMBER", registry = "FEED_NAME" }
フィードでまだ認証していない場合は、 Project セットアップ の手順に従って構成ファイルを構成し、資格情報プロバイダーを設定し、レジストリにログインします。
プロジェクト ディレクトリで次のコマンドを実行してプロジェクトをビルドし、フィードから依存関係を復元します。
cargo build
ダウンロードしたクレートは ~/.cargo/registry/cache/<registry-hash>/ にローカルにキャッシュされます。ここで、registry-hash はフィード URL に基づく一意の識別子です。
関連コンテンツ
Azure Pipelines を使用して Cargo パッケージを発行する