di 服务器A
的/home/work/
目录下创建了仓库/home/work/my-project.git
akan/home/work/my-project.git
克隆到网站根目录/home/www/
Dikonfigurasikangit post-receive hook
#!/bin/bash
cd /home/www
env -i git pull
Cara ini setiap kali git push
的时候,都可以把代码更新到服务器A
的/home/www
di bawah direktori
Bagaimana jika saya 服务器B
也克隆了/home/work/my-project.git
到目录/home/www/
下。有没有什么办法每次执行git push
的时候,同时到服务器A
和服务器B
执行git pull
beroperasi?
Pendekatan semasa saya 服务器B
上加一个crontab定时任务
,每分钟到/home/www/
目录下执行一下git pull
,这样虽然也可以达到自动git push
berkesan, tetapi terdapat juga perbezaan masa.
Adakah anda mempunyai amalan yang lebih baik?
Jika
服务器A
能通过ssh访问服务器B
, anda boleh menambah baris dalam git post-receive hookSelepas setiap git push, pelayan A akan mengklon /home/work/my-project.git ke direktori akar tapak web /home/www/, dan pada masa yang sama, ia akan menyegerakkan /home/www/ ke pelayan B /home melalui rsync
/www/