GitHub CI 在使用 secrets 时,如果查看工作流日志,看到的记录是如下空串,说明没有正确配置好 yml 文件,需要在
workflow_call
类型的工作流中配置 secrets: inherit
它是用来指定一个工作流是否应该继承仓库的 Secrets。当一个工作流被其他工作流作为
reusable workflow
调用时,它可以通过设置 secrets: inherit
来获取调用它的工作流的上下文中的 Secrets。使用
secrets: inherit
可以确保重用的工作流能够访问主工作流中定义的所有 Secrets,而不需要显式地在每个 reusable workflow
中声明它们。这样做既方便又安全,因为它减少了需要在多个地方维护 Secrets 的需求。在这个例子中,
draft_release
作业将调用同一个仓库中的另一个工作流文件 release.yml
,并传递一个输入。通过设置 secrets: inherit
,release.yml
将能够访问调用它的工作流所拥有的所有 Secrets。另外一个坑是上传大文件到代码仓库,出现权限拒绝的问题,这种情况出现是因为你用 cmd 之类的终端而不是 Git Bash 去提交,在提交大文件时,Git Bash 会弹出一个输入密码的框,而 cmd 不会弹出,应该算是个 bug。
git push Enter passphrase for key '/c/Users/Administrator/.ssh/id_rsa': Uploading LFS objects: 0% (0/1), 0 B | 0 B/s, done. batch request: git@github.com: Permission denied (publickey).: exit status 255 error: failed to push some refs to 'github.com:zmzimpl/chrome-power-app.git