将 GitHub 存储库拉取到 /var/www

将 GitHub 存储库拉取到 /var/www

我有一个私人 GitHub 存储库,我想设置我的测试服务器(LAMP)来自动拉取/获取主分支中的文件并将它们放在我的 Web 根目录(/var/www)中。

是否可以创建一个 shell 脚本,将 cd 转到 /var/www,然后运行 ​​git pull origin master?我可以使用 CRON 作业来执行此操作吗?

答案1

是的。

创建一个 shell 脚本,内容如下:

/bin/sh #!/bin/sh 复制代码
cd /var/www
git pull origin master

你可以将文件存储在任何你喜欢的地方。我们假设它在 /scripts/ 中,我们假设它的名字是 getsite.sh

确保您的文件是可执行的:

chmod +x /scripts/getsite.sh

运行命令以确保其有效。我假设您已经运行 git init 并设置了 repo。

/scripts/getsite.sh

假设它运行正常,您可以创建一个 crontab 条目,以根据需要经常运行它:

crontab -e

您将需要一个类似以下内容的条目:

59 23 * * * /scripts/getsite.sh

这将在每天 23:59 运行脚本。

如果需要帮助,请阅读 crontab 的手册页。

答案2

答案是对,但是您有几个不同的选择可以考虑。基本思想是将事件链接在一起,无论您使用 git-hooks 还是 rsync 和 cron 甚至 Dropbox。

欲了解更多想法,请查看http://debuggable.com/posts/git-tip-auto-update-working-tree-via-post-receive-hook:49551efe-6414-4e86-aec6-544f4834cda3

http://www.turnkeylinux.org/blog/website-synchronization

搜索 git-hooks 和 push/pull 你应该找到很多信息。

相关内容