我一直在使用python结构来部署Django项目。随着时间的流逝,部署已经跨越了多个服务器。 Fab脚本从服务器上的git下载代码并进行部署。并且它为每台服务器执行此操作。
我的git访问权限是通过电子邮件和密码。如何避免每次部署时都为每台服务器输入电子邮件和密码? Git凭证缓存似乎无济于事。
我想避免对GIT使用基于SSH密钥的身份验证。
对于使用织物2来解决此问题的人,我发现了以下作品:
from invoke import Responder
git_watchers = [
Responder(pattern = r"Username for .*", response="git_user\n"),
Responder(pattern = r"Password for .*", response="git_password\n") ]
ctxt.run("git fetch", pty=True, watchers=git_watchers)
希望这会有所帮助。