我正在尝试找到一种方法来编写一个 bash 脚本,该脚本将在每个午夜自动从我们的 Private Github 存储库中提取并更新我们的开发站点。
由于显而易见的原因,我们的仓库是私有的,而且我发现的任何接近的东西总是要求输入密码。我们的服务器有它自己的 Github 帐户,用于从存储库中推送和拉取,但我只是不知道如何自动执行此操作。
谁能指出我正确的方向?
为了自动化您的推/拉,您需要设置无密码身份验证。为此,您使用 ssh(而不是 https)。如果您之前没有在 github 上使用过 ssh,或者根本没有使用过 ssh,那么您需要执行几个步骤来配置。
在您的机器上,生成一个 ssh 密钥:
$ ssh-keygen -t rsa
确保将密码短语字段留空。这使得本地私钥未加密,但对于通过 Internet 进行的实际通信来说同样安全。
~/.ssh/id_rsa.pub
然后,在 Account Settings | 下上传到 github SSH 密钥
现在你应该可以在没有密码的情况下从那台机器上推拉。试试看:
git clone git@github.com:user/repo.git
然后,您可以根据需要将这些命令放入您的 bash 脚本中。如果您需要对多台机器执行此操作,则需要上传每个密钥,或将私钥 ( ~/.ssh/id_rsa
) 复制到每台机器。