我有一个私人 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://www.turnkeylinux.org/blog/website-synchronization
搜索 git-hooks 和 push/pull 你应该找到很多信息。