チュートリアル: GitHub Actions で vcpkg Git ベースのレジストリを認証する
プライベート レジストリで vcpkg を使用する場合は、vcpkg によって内部的に実行される Git 操作を認証するためのアクセス資格情報を提供する必要があります。
このチュートリアルでは、GitHub Actions ワークフローで使用するプライベート Git リポジトリを認証する方法について説明します。
前提条件
- GitHub アカウント
- GitHub でホストされているプライベート vcpkg Git レジストリ
- vcpkg
1 - プライベート リポジトリの個人用アクセス トークンを作成する
GitHub の 手順に従って、きめ細かい個人用アクセス トークン (PAT) を生成し、vcpkg Git レジストリがホストされているプライベート リポジトリにアクセスするためのアクセス許可を付与します。
2 - ワークフローで使用する GitHub Actions シークレットを作成する
Note
GitHub 個人用アクセス トークンをリポジトリ ファイルに保存しない
次の手順では、GitHub の指示に従って 、GITHub Actions ワークフローで使用可能なシークレットとして PAT を格納します。
3 - ワークフロー内のプライベート Git リポジトリに対する認証
次に、ワークフローに認証ステップを追加します。ワークフローの YAML ファイルで次のテンプレートを使用します。 たとえばhttps://github.com/Microsoft/secret-vcpkg-registry
、プライベート リポジトリの URL に置き換えますPRIVATE_REPO_URL
。前の手順で作成したシークレット変数の名前に置き換えますPRIVATE_REGISTRY_PAT
。
このワークフロー ステップは、vcpkg を呼び出す他のワークフロー ステップの前に実行する必要があります。
- name: Authenticate private registries
shell: bash
run: git config --global credential.PRIVATE_REPO_URL.helper '!f() { echo username=unused; echo password=${{secrets.PRIVATE_REGISTRY_PAT }}; }; f'
複数のプライベート リポジトリの例
次の例は、パターンを使用して複数のプライベート リポジトリに Git 資格情報を提供する方法を credential.<url>.helper
示しています。
- name: Authenticate private registries
shell: bash
run: |
git config --global credential.https://github.com/vcpkg/private_registry.helper '!f() { echo username=unused; echo password=${{secrets.private_registry_pat}}; }; f'
git config --global credential.https://github.com/vcpkg/secret_registry.helper `!f() { echo username=unused; echo password=${{secrets.secret_registry_pat}}; }; f'
vcpkg