Git:使用post-receive hook签出到另一台服务器的文件夹?

时间:2014-09-12 10:13:00

标签: git

我想使用git将推送的更改部署到测试服务器。我正在使用网上许多来源中描述的post-receive hook:

#!/bin/sh
GIT_WORK_TREE=/var/www/test git checkout -f

这对我有用。当我暂停并提交我的更改,然后运行git push origin master时,我的更改会被推送,文件会检出/var/www/test

但是,我需要更进一步。我需要将我的文件签出到另一台服务器:我的测试服务器,而不是我的git服务器。我在接收后的钩子中试过以下内容:

#!/bin/sh
ssh user@555.55.555.5 'GIT_WORK_TREE=/home/user git checkout -f'

...但我的连接时间已超时'消息。

我的本​​地机器通过ssh密钥对我的git服务器进行身份验证,但我还没考虑我的git服务器如何通过我的测试服务器对其进行身份验证来编写文件。

如何正确地指示post-receive hook将文件签出到服务器上的文件夹,而不是我推送到的那个?

希望这是有道理的。感谢。

0 个答案:

没有答案