次の方法で共有


チュートリアル: Git を使用してプライベート vcpkg レジストリにパッケージを発行する

Git を使用して vcpkg 経由で使用するパッケージの独自のプライベート レジストリを作成できます。 プライベート レジストリは、プライベート ライブラリを使用する場合や、既存のパッケージに対してパブリック以外の変更を行う場合に最適です。 パッケージのバージョンと内容を完全に制御できるため、プライベート レジストリに格納できる内容に制限はありません。

このチュートリアルでは、次の方法について説明します。

前提条件:

  • vcpkg
  • Git
  • ターミナル

1 - Git を使用して vcpkg レジストリを作成する

vcpkg の Git ベースのレジストリは、vcpkg が認識する特定のレイアウトを持つ Git リポジトリです。

Git レジストリを初期化します。

mkdir vcpkg-registry
cd vcpkg-registry
git init

2 - レジストリ レイアウトを作成する

vcpkg Git ベースのレジストリには、次のものが必要です。

  • レジストリのポートを格納する名前 ports のフォルダー。
  • バージョン データベースを格納する名前 versions のフォルダー。
  • フォルダーにversions名前が付けられたbaseline.jsonファイル。

リポジトリには、スクリプト、LICEN、ファイルStandard Editionファイル、ドキュメントなど、必要な他のファイルをREADME.md含めることができます。

1 - フォルダーとversionsフォルダーを作成しますports

mkdir ports
mkdir versions

2 - 次の内容を含むフォルダーにversions名前付きのbaseline.jsonファイルを作成します。

{
  "default": {}
}

最小限の有効な baseline.json ファイルには、上記の内容を含める必要があります。 ファイルとバージョン データベースの詳細については、バージョン管理にbaseline.json関するドキュメントを参照してください。

3 - 変更をリポジトリにコミットする

git add versions/baseline.json
git commit -m "Initial commit"

必要に応じて、リモート Git リポジトリを設定している場合は、変更をプッシュすることをお勧めします。

git remote add origin https://example.com/vcpkg-registry.git
git push --set-upstream origin HEAD

3 - レジストリにポートを追加する

レジストリ内のフォルダー内 ports のすべてのパッケージ ポートをコピーします。 各ポートには、少なくとも 1 つのファイルとファイルを含む独自のディレクトリが vcpkg.json 必要です portfile.cmake 。 ポートの作成の詳細については、GitHub リポジトリのパッケージ化に関するチュートリアルを参照してください。

git add ports/.
git commit -m "Add registry ports"

4 - バージョン データベースを更新する

レジストリ内の各ポートには、対応するバージョン ファイルが必要です。 バージョン ファイルはコマンドによって vcpkg x-add-version 生成されます。 このコマンドは、次の各ポート version/baseline.jsonのベースライン エントリも更新します。

すべてのポートのバージョン データベースを一度に更新するには、次のコマンドを実行します。

vcpkg --x-builtin-ports-root=./ports --x-builtin-registry-versions-dir=./versions x-add-version --all --verbose

--x-builtin-ports-rootリダイレクト オプションと--x-builtin-registry-versions-dirリダイレクト オプションです。 通常、コマンドは x-add-version vcpkg の組み込みレジストリで動作しますが、リダイレクト オプションを使用することで、ローカル Git レジストリでコマンドを使用できます。

この --all オプションを使用すると、vcpkg は使用可能なすべてのポートをディレクトリで ports スキャンし、それらを一度にすべて更新します。 最後に、このオプションを --verbose 使用すると、コマンドによって実行される各操作が標準出力に出力されます。このオプションを削除すると、出力を抑制できます。

すべての x-add-version ポート変更がレジストリの Git リポジトリにコミットされている必要があります。 詳細については、[x-add-version コマンド] のドキュメントを参照してください。

すべての出力が正しければ、次のコマンドを実行します。

git add .
git commit -m "Update versions database"

リモート Git リポジトリがある場合は、変更をプッシュすることを忘れないでください。

git push

次のステップ

以上で作業は終了です。 vcpkg で使用する独自のプライベート Git ベースのレジストリを設定しました。

次に試すその他のタスクを次に示します。