共用方式為


教學課程:在 GitHub Actions 中驗證 vcpkg Git 型登錄

搭配私人登錄使用 vcpkg 時,必須提供存取認證,以驗證 vcpkg 內部執行的 Git 作業。

在本教學課程中,您將瞭解如何驗證私人 Git 存放庫,以在 GitHub Actions 工作流程中使用。

必要條件

  • GitHub 帳戶
  • GitHub 上裝載的私人 vcpkg Git-registry
  • vcpkg

1 - 為您的私人存放庫建立個人存取令牌

請遵循 GitHub 上的指示來產生精細的個人存取令牌 (PAT),並授與它存取裝載 vcpkg Git 登錄的私人存放庫許可權。

2 - 建立要用於工作流程的 GitHub Actions 秘密

注意

永遠不要將 GitHub 個人存取令牌儲存在您的存放庫檔案中

下一個步驟是遵循 GitHub 的指示,將 PAT 儲存為 GitHub Actions 工作流程中可用的秘密。

3 - 向工作流程中的私人 Git 存放庫進行驗證

現在是時候將驗證步驟新增至您的工作流程,請在工作流程的 YAML 檔案中使用下列範本。 將 取代 PRIVATE_REPO_URL 為您私人存放庫的 URL,例如: https://github.com/Microsoft/secret-vcpkg-registry;將 取代 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'

具有多個私人存放庫的範例

下列範例示範如何使用 模式為多個私人存放庫 credential.<url>.helper 提供 Git 認證。

    - 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'