严格部署

在 Hexo 部署过程中,默认策略和严格同步策略(删除远程多余文件)的行为取决于使用的 deployer(部署插件),大部分的默认策略都是严格模式。

默认策略:保留远程多余文件

示例:如果远程有 old-file.html 而本地 public/ 中没有,该文件会保留。

严格策略:删除远程多余文件

如果需要远程目录完全匹配本地内容(删除多余文件),则使用严格模式。

以博客部署为例

Git 部署

1
2
3
4
5
6
7
8
async function push(repo) {
await setNameEmail();
await git('add', '-A');
await git('commit', '-m', message).catch(() => {
// Do nothing. It's OK if nothing to commit.
});
await git('push', '-u', repo.url, 'HEAD:' + repo.branch, '--force');
}

SFTP

Vercel

默认的CICD会强制push就是严格模式

Rsync

  • 插件:hexo-deployer-rsync
  • 配置:默认开启delete,即删除远程主机上的旧文件

严格部署
https://halofu.github.io/2025/04/18/严格部署/
作者
风鸣迎雪
发布于
2025年4月18日
更新于
2025年4月19日
许可协议