结合incron实现git自动发布

上个帖子讨论了git的自动web发布流程,但实际测试过程中发现存在用户权限问题,导致更新出错。今天在服务器上采用incron结合git进行自动发布,可以完美解决(或避开)权限问题。

1. git hooks post-receive部分

此处仅创建一个临时文件,比如heihedata.update.lck

#!/bin/bash

touch /home/wlx/heihedata.git/hooks/heihedata.update.lck

 

2. incron部分

使用incron监测post-receive生成的文件,然后使用root账号进行更新操作。

设置incron

/home/wlx/heihedata.git/hooks/heihedata.update.lck IN_CLOSE_WRITE /root/heihedata.sh

 

执行的脚本

#!/bin/bash

cd /home/wlx/heihedata.git

GIT_WORK_TREE=/var/www/heihedata.org/ git checkout heihedata -f

rm /home/wlx/heihedata.git/hooks/heihedata.update.lck

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注