全量传几百 MB 太慢。增量部署只动变化文件,发布从分钟级降到秒级。
示例配置
rsync -avz --delete --checksum ./dist/ user@server:/var/www/site/
# 或只传 git 变更
git diff --name-only HEAD~1 | xargs -I{} rsync -avz {} user@server:/var/www/site/{}
要点速览
- rsync 默认按大小和时间戳判断差异,--checksum 更严但更慢。
- --delete 让源删了的目标也删,保持两边一致。
- 配合 git diff 可只同步本次提交涉及的文件。
增量部署的本质是「只动脏的」,快就快在这。