管理一网站,最开始使用的虚拟空间,采用提供商支持的ftp上传网站文件,后换用vps,vps可以自己搭建ftp的,但是懒得搞,直接使用scp传输文件到服务器,现在需要更新文件到服务器,使用scp真的很烦。发现本人就职的公司,采用的git+rsync的方式来管理、同步代码,遂借鉴之。

首先需要在服务器上面安装git和rsync,可以通过源码或者软件包安装,这个我不说,你懂的。

我采用的是把软件主仓库放在第三方的git托管平台上面的,如果你的服务器比较牛逼,可以直接在自己的服务器上做主仓库,或者搞单独的git服务器。

我建好主仓库后,在网站服务器上将其克隆到网站服务器,这样网站服务器上面也有了一个仓库。

之后我们写个脚本,这个脚本的功能是从主仓库拉代码到网站服务器上的仓库,然后从网站服务器的仓库中将代码同步到网站目录。

1
2
3
4
5
6
#!/bin/bash
cd /home/git/web-respoistory
git pull
cd ../
rsync -a --progress --exclude=.git web-repoistory /www/site
chown www:www /www/site -R

最后我们去编辑crontab,让服务器定时执行我们的脚本,这个就可以定时同步代码了。
如果我们有需要自己去同步代码的时候,可以自行执行脚本。

OK,这样就完成了,开发人员会将代码提交到仓库,仓库自动更新代码到网站目录