跳到主要内容

第 4 集 · 发布、部署和核对

系列文档 · 第 4

文章写好了,接下来让它上线。这里有两个不同的动作:发布决定一篇内容能不能公开,部署把所有已经公开、已经提交的内容送到网站上。分开做,是为了让你在任何时候都清楚哪些内容会出现在网上。


一、发布:决定公开

  • 桌面端:打开文章,点 FILES 旁边的齿轮进入设置。先在 Overview 写好摘要(Excerpt),它会出现在列表、搜索结果和给 AI 读的元数据里;再到 Visibility,把可见性从 Private 改成 Public。
  • 命令行:
bash
silan blog publish gem-bench-accepted

其他类型的内容可以用 silan site publish <uri>。发布只修改源文件里的可见性,网站这时还不会变化。

二、提交

部署只会带上已经提交的内容。桌面端各个列表(Moments、Blog 等)右下角有 Commit,有未提交的改动时点一下就会提交,提交说明自动生成;旁边的 Version 可以查看提交历史。习惯命令行的话,在 content/ 里用 git commit 也一样。

三、第一次上线:配置部署

在 silan-viking.toml 里打开 [deploy],填上你的服务器信息:

toml
[deploy]
mode         = "nginx"
host         = "example.com"
user         = "deploy"
ssh_key_path = "~/.ssh/silan_deploy_ed25519"  # 只写路径,不写密钥本身
remote_dir   = "/www/wwwroot/example.com"
public_url   = "https://example.com"

第一次部署会把网站服务装到服务器上。先看计划,确认无误再执行:

bash
silan site deploy --dry-run
silan site deploy --confirm

四、日常更新:部署内容

之后每次更新内容,不需要重装服务:

  • 桌面端:仪表盘的 Needs attention 卡片会显示待上线的数量,点 Deploy N,在「Deploy content to production?」里确认。
  • 命令行:
bash
silan site update-content --dry-run
silan site update-content --confirm

服务器会按 receiving → validated → promoting → verifying → rendering → complete 依次处理:校验内容包、更新数据库和媒体、重新生成页面、sitemap、RSS 和 llms.txt。任何一步失败都会停在 failed,线上网站保持上一个版本,不会出现半新半旧的状态。

五、核对线上版本

部署完成后,Needs attention 卡片会列出 Local 和 Deployed 两个版本号。两者一致时,卡片显示 0 和「Local and deployed content match」,说明线上就是你审过的那一版。

如果别的电脑已经部署了更新的版本,卡片会显示 Pull N,先同步再继续写。

可选:本地预览

装有 Docker 时,可以先在本机看效果:

bash
silan site preview
silan site preview --confirm

第一条命令只显示计划,第二条才会启动,完成后打开 http://localhost:8080。预览是一次性的,不会影响线上。

检查点

  • 文章的可见性是 Public,并且已经提交;
  • 部署成功,Local 和 Deployed 版本一致;
  • 在你的网站上能看到这篇文章。

下一集让 AI 助手加入进来。

0 次点赞
Silan Hu39 次阅读分享:
G

还没有评论