.github
文件夹保存工作流程,YAML 文件包含运行并使用 GitHub 机密来构建/部署的所有检查和测试。 main
分支有分支保护规则,需要在合并之前进行审查。
通过
write
访问存储库,可以绕过所有检查/分支保护规则并直接部署。以下是步骤:
转到
.github
文件夹
寻找部署到生产环境的工作流程
复制内容并粘贴到新分支中
去掉所有勾选,只保留部署步骤
在新创建的分支上运行工作流程
这会触发部署作业绕过所有检查和规则到目标环境
有没有办法防止使用机密并限制特定的工作流程/分支?
我能想到的唯一方法是从存储库秘密转移到环境秘密并在环境中设置规则以限制允许部署到环境的分支/标签。
这样,我们将为工作流程运行提供额外的批准步骤。