将git存储库发布到远程http服务器

发布于 2024-09-04 11:26:27 字数 112 浏览 11 评论 0原文

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

谢谢/维克多

I work on a git repository where we build an php community but i need to show it somewhere so I am looking for a way to automatic upload my files to a remote http server when i push to the repository.

Thanks /Victor

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

独行侠 2024-09-11 11:26:27

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

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

Like Subversion Git offers a hook mechanism, too. Check out the githooks man page. Basically you just need to write a checkout and deploy script for your PHP application as a post-commit hook.

For github you should have a look at their webhooks mechanism.

江城子 2024-09-11 11:26:27

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

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 hook,就像之前提到的那样。

If there is no separate git repo on the second server, I would export files from archive:

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

And then used sftp to synchronize with remote server:

#!/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 ";

You may automate this process as a build script (e.g. Phing),
our bind as a post commit git hook, like it has been mentioned before.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文