GitHub Actions中gh auth login --with-token需手动粘贴令牌,如何正确传参?
正确在GitHub Actions中传递令牌给
gh auth login的方法 你遇到的问题是因为gh auth login --with-token是从**标准输入(stdin)**读取令牌,而非通过命令行参数传递,直接写<token>的方式不符合它的输入逻辑,所以会触发手动粘贴提示。
以下是正确的实现方式:
使用管道传递令牌(推荐写法,简洁直观):
在GitHub Actions工作流中,将存储在Secrets中的令牌通过管道传入命令:echo "${{ secrets.GH_PAT }}" | gh auth login --with-token这里
GH_PAT是你存在GitHub仓库Secrets中的个人访问令牌,需要包含workflow、repo等触发工作流所需的权限。使用输入重定向传递:
也可以用Here字符串重定向输入的方式实现:gh auth login --with-token <<< "${{ secrets.GH_PAT }}"验证登录状态:
登录后可添加以下命令确认是否成功:gh auth status
注意事项
- 绝对不要直接在代码中硬编码令牌,必须通过GitHub Secrets存储,避免令牌泄露。
- 确保运行环境已安装GitHub CLI(
gh工具),若未安装,可在工作流中先执行安装命令:sudo apt update && sudo apt install gh -y - 令牌需具备对应权限:触发同一仓库工作流需
workflow权限;跨仓库触发还需repo权限,且目标仓库需允许该令牌触发工作流。
内容的提问来源于stack exchange,提问作者Rahul
相关产品推荐
相关产品推荐

