首页 > 解决方案 > 如何配置 git 以在 GitHub 操作结帐中使用 PAT 令牌

问题描述

我需要在 GitHub Actions 工作流程中签出私人仓库。我正在使用结帐操作,并遵循其README

  1. 我创建了一个服务帐户,即一个单独的 GitHub 帐户,仅用于 GitHub Actions 工作流程。
  2. 我为服务帐户创建了一个 PAT(个人访问令牌),有权访问私有存储库和当前工作流存储库。
  3. 我创建了一个秘密来存储 PAT 令牌。

现在,当我执行以下操作时,它不起作用:

- name: Checkout
  uses: actions/checkout@v2
  with:
    token: ${{secrets.MY_TOKEN}}

似乎我没有git正确配置以允许它使用令牌。我的问题是:我应该或如何配置git config在上述步骤中使用令牌?

谢谢。

编辑:私人回购是主回购的依赖。两个 repos 都是 Rust 程序,使用 Cargo。因此,我尝试使用相同的服务帐户首先签出主仓库。然后货物将检查私人回购。

编辑2:对不起,这是一个坏问题。我不知道我在做什么。请忽略。

标签: github-actionsrust-cargogit-config

解决方案


根据操作/结帐文档,您还需要repository input为私有存储库添加:

.yml它在您的工作流文件中应如下所示:

- name: Checkout
  uses: actions/checkout@v2
  with:
    path: main

- name: Checkout private repo
  uses: actions/checkout@v2
  with:
     repository: your-private/repo_name
     token: ${{ secrets.MY_TOKEN }}

你不应该需要配置任何关于git

除非您需要特定的path,在这种情况下,您还需要将其作为输入通知:

- name: Checkout private repo
  uses: actions/checkout@v2
  with:
     repository: your-private/repo_name
     token: ${{ secrets.MY_TOKEN }}
     path: path-to-directory

推荐阅读