Mad*_*ake 9 pipeline github github-actions
我正在尝试在 GitHub 管道中签出一个私有存储库,以下是我的管道代码,
build:
runs-on: ubuntu-latest
steps:
- name: Checkout pickezy backend
uses: actions/checkout@v2
with:
repository: Madurad/jenkinsfiles
token: ${{ secrets.GITHUB_TOKEN }}
ref: master
Run Code Online (Sandbox Code Playgroud)
但是当我运行这个时,我收到以下错误:“未找到存储库”,但它在我的 githiub 组织中。这是一个私人仓库。
它看起来不像是一个身份验证错误。有人可以帮我解决这个问题吗?我错过了什么吗?
您可以在 YAML 文件的顶层添加缺少的权限:
permissions:
contents: read
Run Code Online (Sandbox Code Playgroud)
请注意,我不需要token: ${{ secrets.GITHUB_TOKEN }}
在结账步骤中指定。
该解决方案基于 GitHub Copilot 的自动完成功能。它有效,但我没有做进一步的研究。
您可以在Github 文档中观察到它GITHUB_TOKEN
不具有所有可用权限。
在这种特定情况下,访问私有存储库的权限。
如果您想在工作流程中执行涉及其他权限的特定操作,则需要创建具有所需权限的PAT(个人访问令牌)并使用它而不是GITHUB_TOKEN
(将其添加为机密)。
在您的情况下,工作流程将如下所示:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout pickezy backend
uses: actions/checkout@v2
with:
repository: Madurad/jenkinsfiles
token: ${{ secrets.PAT }}
ref: master
Run Code Online (Sandbox Code Playgroud)