github-actions - 如何配置 git 以在 GitHub 操作结帐中使用 PAT token

标签 github-actions rust-cargo git-config

我需要在 GitHub Actions 工作流程中 checkout 一个私有(private)仓库。我正在使用结帐操作,并遵循其 README :

  • 我创建了一个服务帐户,即一个单独的 GitHub 帐户,仅用于 GitHub 操作工作流。
  • 我为服务帐户创建了一个 PAT(个人访问 token ),有权访问私有(private)存储库和当前工作流存储库。
  • 我创建了一个 secret 来存储 PAT token 。

  • 现在,当我只执行以下操作时,它不起作用:
    - name: Checkout
      uses: actions/checkout@v2
      with:
        token: ${{secrets.MY_TOKEN}}
    
    好像我没有配置git以允许它使用 token 。我的问题是:我应该或如何配置 git config在上述步骤中使用 token ?
    谢谢。
    编辑:私有(private)仓库是主仓库的依赖。两个 repos 都是 Rust 程序,使用 Cargo。因此,我尝试使用相同的服务帐户首先 check out 主存储库。然后 cargo 将检查私有(private) repo 。
    编辑 2:对不起,这是一个不好的问题。我不知道我在做什么。请忽略。

    最佳答案

    根据the actions/checkout documentation ,您需要添加 repository input以及私有(private)存储库:
    在您的工作流程中,它应该类似于以下内容 .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
    

    关于github-actions - 如何配置 git 以在 GitHub 操作结帐中使用 PAT token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67030607/

    相关文章:

    rust - 你如何编译一个 Rust 库来定位 asm.js?

    linux - 在 Git 别名中转义 $num

    git - 在 gitconfig 文件中转义别名命令

    git - 设置使用 TR 将反斜杠转换为正斜杠的 Git 别名

    java - Github Action : setup-java with multiple JDKs and corresponding environment variables

    npm - Verdaccio:如何使用正确的凭据从 Github Actions 发布到自定义服务器?

    yaml - Github 操作矩阵包括基于 GitHub 事件有条件的条目

    github - 在 CLI 中观看 GH Actions 工作流程输出?

    aws-lambda - 为什么当 openssl 不在依赖关系图中时,openssl 上的交叉编译构建会失败?

    rust - 如何将 Cargo.toml 文件中特定版本的依赖项列入黑名单?