我正在尝试找到一种方法,我可以编写一个bash脚本,每隔午夜从我们的私有Github存储库中自动提取并更新我们的开发站点。
由于显而易见的原因,我们的回购是私有的,而且我发现任何接近的密码总是要求密码。我们的服务器有自己的Github帐户,它用于从存储库中推送和拉出,但我只是不知道如何自动执行此操作。
有人能指出我正确的方向吗?
答案 0 :(得分:9)
为了自动化您的推/拉,您需要设置无密码身份验证。为此,您使用ssh(而不是https)。如果您之前没有使用过ssh和github,那么您需要执行一些步骤来配置内容。
在您的计算机上,生成一个ssh密钥:
$ ssh-keygen -t rsa
确保将密码字段留空。这使得本地私钥不加密,但对于通过互联网的实际通信而言同样安全。
然后,在帐户设置|下将~/.ssh/id_rsa.pub
上传到github SSH密钥
现在你应该可以在没有密码的情况下从那台机器上推拉。试试吧:
git clone git@github.com:user/repo.git
然后,您可以根据需要将这些命令放在bash脚本中。如果您需要为多台计算机执行此操作,则需要上传每个密钥,或将私钥(~/.ssh/id_rsa
)复制到每个密钥。
有关详情,请参阅github help。另请查看deploy keys页面,因为这可能会为您的情况提供更好的安全粒度。