亚马逊Autoscale& Github上

时间:2014-03-10 16:27:37

标签: git github amazon-ec2

我在远程服务器上安装了centos 6.5 / apache和gitbhub。当服务器启动时(或每小时)它是否可以从我的生产分支中提取最新的提交,强制覆盖它在本地的所有内容?

我看到使用git push命令,但由于自动缩放将在防火墙后面发生,所以它基本没用。

如果这已在这里得到解答,我很抱歉。

1 个答案:

答案 0 :(得分:0)

是的,您可以为您的实例添加以下命令的user data。它需要在您的代码的git存储库所在的目录上运行:

git reset --hard HEAD
git pull -f origin <your branch>

或者如果您不想关心自己所在的目录:

git --git-dir=<your-git-repo-directory>/.git --work-tree=<your-git-repo-directory> reset --hard HEAD
git --git-dir=<your-git-repo-directory>/.git --work-tree=<your-git-repo-directory> pull -f origin <your branch>

要使其每小时运行一次,您可以通过在/etc/cron.d/下创建一个包含以下内容的文件,将其添加为cron作业:

0 * * * * <your-user> git --git-dir=<your-git-repo-directory>/.git --work-tree=<your-git-repo-directory> reset --hard HEAD
1 * * * * <your-user> git --git-dir=<your-git-repo-directory>/.git --work-tree=<your-git-repo-directory> pull -f origin <your branch>