0

我在一个 git 存储库上工作,我们在其中建立了一个 php 社区,但我需要在某个地方展示它,所以我正在寻找一种方法来在我推送到存储库时自动将我的文件上传到远程 http 服务器。

谢谢/维克多

4

2 回答 2

3

与 Subversion 一样,Git 也提供了挂钩机制。查看githooks手册页。基本上,您只需要为您的 PHP 应用程序编写一个签出和部署脚本作为提交后挂钩。

对于 github,你应该看看他们的webhooks机制。

于 2010-06-07T08:34:18.470 回答
1

如果第二台服务器上没有单独的 git repo,我会从存档中导出文件:

git checkout-index -a -f --prefix=/target/path/

然后使用 sftp 与远程服务器同步:

#!/bin/bash
HOST="ftp.example.com"
USER="user"
PASS="pass"
LCD="/var/www/yourdir"
RCD="/www/"
lftp -c "
#debug;
open ftp://$USER:$PASS@$HOST;
lcd $LCD;
cd $RCD;
mirror --only-newer \
       --reverse \
       --verbose \
       --exclude-glob somepattern ";

您可以将这个过程作为构建脚本(例如 Phing)自动化,我们的绑定作为提交后的 git 挂钩,就像之前提到的那样。

于 2010-06-07T17:10:06.857 回答