首页 > 解决方案 > 如何在推送到用户的主分支之前在 github 或 jenkins 上设置密码

问题描述

Jenkins 的配置方式是,每次运行命令 git push origin master 时,都会将自动部署设置到生产环境。git 上的每个用户都可以推送到 master 我想知道如何限制对生产环境的访问,例如如何配置 git 或 jenkins 在继续部署到生产环境之前要求输入密码?

标签: jenkinsgithub

解决方案


您不能要求额外的密码才能推送到 GitHub 上的特定分支。Git 除了为 HTTPS 或普通 SSH 身份验证(在 GitHub 上意味着只是一个公钥)为 SSH 提供单个用户名和密码外,无法提供任何东西。

如果您想限制人们自动部署,有一些选项。首先,您可以使用 GitHub 的受保护分支功能来限制直接推送,master并要求人们使用拉取请求在此处合并。然后,您可以提出审查要求(使用 CODEOWNERS 或其他方式),要求 CI 作业通过,并实施其他检查。

另一种选择是使用某种外部部署机制,而不是使用直接推送到 master,然后您可以使用该服务来施加您喜欢的任何限制。


推荐阅读