我有一个 Debian 服务器和一个 git repo (Assembla)。我想要实现的是拥有一个自动获取任何新版本并将其放入我们的“测试”主机的功能。
这意味着如果我在 repo 上推送新的更改,我应该在一分钟内看到它已经在运行的服务器上。
那可能吗?
我的服务器运行 Debian 6 Squeeze
更新:我还希望能够知道文件夹应该放在哪里(例如 /src 应该进入根文件夹)。
我有一个 Debian 服务器和一个 git repo (Assembla)。我想要实现的是拥有一个自动获取任何新版本并将其放入我们的“测试”主机的功能。
这意味着如果我在 repo 上推送新的更改,我应该在一分钟内看到它已经在运行的服务器上。
那可能吗?
我的服务器运行 Debian 6 Squeeze
更新:我还希望能够知道文件夹应该放在哪里(例如 /src 应该进入根文件夹)。
外壳脚本:
#!/bin/bash
dir=$1
cd $dir
git pull
cd -
定时任务:
*/1 * * * * root /usr/bin/bash path_to_script somedir
您总是可以设置一个每隔几分钟更新一次的 crontab。像这样的东西:
*/5 * * * * /bin/git pull origin master
我相信有更好的方法。但这将每 5 分钟运行一次 git 命令。
注意:我不熟悉 Git CLI 语法,因此请确保您正确编写。