惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
N
Netflix TechBlog - Medium
Google Online Security Blog
Google Online Security Blog
月光博客
月光博客
量子位
酷 壳 – CoolShell
酷 壳 – CoolShell
V
V2EX
腾讯CDC
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
M
MIT News - Artificial intelligence
Vercel News
Vercel News
The GitHub Blog
The GitHub Blog
Hugging Face - Blog
Hugging Face - Blog
博客园 - 【当耐特】
Apple Machine Learning Research
Apple Machine Learning Research
aimingoo的专栏
aimingoo的专栏
博客园 - 三生石上(FineUI控件)
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
MongoDB | Blog
MongoDB | Blog
H
Help Net Security
The Cloudflare Blog
Blog — PlanetScale
Blog — PlanetScale
F
Full Disclosure
G
Google Developers Blog
罗磊的独立博客
Jina AI
Jina AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Y
Y Combinator Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
J
Java Code Geeks
A
About on SuperTechFans
IT之家
IT之家
大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
有赞技术团队
有赞技术团队
GbyAI
GbyAI
雷峰网
雷峰网
T
The Blog of Author Tim Ferriss
The Register - Security
The Register - Security
U
Unit 42
D
Docker
Martin Fowler
Martin Fowler
L
LINUX DO - 热门话题
NISL@THU
NISL@THU
阮一峰的网络日志
阮一峰的网络日志
C
Cybersecurity and Infrastructure Security Agency CISA
博客园_首页
Google DeepMind News
Google DeepMind News

空白Koobai

唠叨 - 2026-05-10 10:45 唠叨 - 2026-05-08 23:34 唠叨 - 2026-05-08 15:55 唠叨 - 2026-05-07 14:38 唠叨 - 2026-05-06 11:47 唠叨 - 2026-04-30 14:40 唠叨 - 2026-04-30 12:51 唠叨 - 2026-04-22 12:46 唠叨 - 2026-04-18 09:35 唠叨 - 2026-04-16 12:24 唠叨 - 2026-04-12 10:47 唠叨 - 2026-04-06 12:25 唠叨 - 2026-04-03 19:57 唠叨 - 2026-04-02 22:38 唠叨 - 2026-04-01 23:23 唠叨 - 2026-03-31 14:08 唠叨 - 2026-03-28 16:43 唠叨 - 2026-03-28 09:39 唠叨 - 2026-03-27 11:10 唠叨 - 2026-03-25 11:48 唠叨 - 2026-03-24 13:12 唠叨 - 2026-03-21 16:55 唠叨 - 2026-03-20 11:48 罢免小区业委会之后续 反角度之博客用户体验不能做的 N 件事 唠叨 - 2026-03-16 13:10 唠叨 - 2026-03-13 12:46 唠叨 - 2026-03-11 19:25 唠叨 - 2026-03-07 20:21 唠叨 - 2026-03-04 13:45 唠叨 - 2026-02-25 23:14 唠叨 - 2026-02-25 18:16 唠叨 - 2026-02-23 16:11 唠叨 - 2026-02-21 16:21 唠叨 - 2026-02-05 09:19 唠叨 - 2026-02-04 20:18 唠叨 - 2026-01-29 13:03 唠叨 - 2026-01-27 15:40 唠叨 - 2026-01-24 15:55 唠叨 - 2026-01-24 15:38 2025 关键词 唠叨 - 2025-06-22 22:07 唠叨 - 2025-06-10 17:31 唠叨 - 2025-05-14 22:04 唠叨 - 2025-04-16 22:06 唠叨 - 2025-04-09 10:28 唠叨 - 2025-04-07 22:09 唠叨 - 2025-03-22 11:30 唠叨 - 2025-01-29 23:14 唠叨 - 2025-01-21 19:30 唠叨 - 2025-01-10 19:39 唠叨 - 2025-01-09 13:57 罢免小区业委会 唠叨 - 2024-12-20 09:48 唠叨 - 2024-12-19 14:46 唠叨 - 2024-12-19 09:37 唠叨 - 2024-12-18 22:04 唠叨 - 2024-12-17 19:01 唠叨 - 2024-12-11 10:32 唠叨 - 2024-12-07 15:47 唠叨 - 2024-11-27 18:15 唠叨 - 2024-11-16 12:45 唠叨 - 2024-11-13 16:14 唠叨 - 2024-09-29 11:51 唠叨 - 2024-09-26 20:24 唠叨 - 2024-09-20 18:13 从 iOS 更换到 Android 会有不适吗? 唠叨 - 2024-09-17 11:21 唠叨 - 2024-09-14 20:10 唠叨 - 2024-09-04 20:51 唠叨 - 2024-09-02 20:17 唠叨 - 2024-08-08 14:19 唠叨 - 2024-08-07 16:45 唠叨 - 2024-07-27 23:21 唠叨 - 2024-07-09 23:37 唠叨 - 2024-06-15 10:43 唠叨 - 2024-06-01 23:03 唠叨 - 2024-05-31 10:06 五一假期之登高望远 以后如果小米做汽车了,也可以买小米汽车 唠叨 - 2024-03-25 14:05 唠叨 - 2024-03-23 15:26 唠叨 - 2024-03-20 21:06 自行车给自己带来了什么情绪价值爽点 唠叨 - 2024-02-28 15:44 HUGO 折腾随记之热力图 / 段落导航 唠叨 - 2024-02-21 21:00 唠叨 - 2024-02-18 19:38 唠叨 - 2024-02-17 16:24 这个春节有什么不一样 唠叨 - 2024-02-16 11:35 唠叨 - 2024-02-15 14:56 唠叨 - 2024-02-14 18:30 唠叨 - 2024-02-03 20:23 HUGO 外链跳转到中间页 唠叨 - 2024-01-31 20:20 折腾博客更像是自己的精神鸦片 唠叨 - 2024-01-29 16:21 唠叨 - 2024-01-27 10:54 唠叨 - 2024-01-24 16:16
Hugo 通过 Github 自动推送到宝塔 (2026 年版备忘)
2026-01-25 · via 空白Koobai

太久没折腾博客了,服务器失效了也没打算续费,昨天兴致来了,把费续上。既然网站正常了,就想着顺手折腾下。但太久没整了,完全忘光,之前的一篇日志还是手动传到 Github,然后手动把静态文件传到宝塔。为了方便,还是得把链路打通:本地通过 VC 上传,Github 自动构建 Hugo 静态文件,然后自动推送到宝塔。得益于 ai 的进步,本地到 Github 很快搞定,但原先的 WebHook 不知道为什么不启作用,来回跟 ai 聊也无效,记得以前 WebHook 也老是失效。干脆让 ai 换个思路不用 WebHook 了,于是有了这篇备忘~

宝塔面板端

打开宝塔终端,创建推送用户

useradd -m -s /bin/bash deploy

# 建立一个名为 `deploy` 的受限账户,专门负责搬运文件,即便密钥泄露也拿不到系统 `root` 权限。
# 为了更安全可禁止 root SSH 远程登录,修改 `/etc/ssh/sshd_config` -> `PermitRootLogin no`,重新启动 systemctl restart sshd

生成并授权 SSH 密钥

# 生成密钥
ssh-keygen -t rsa -b 4096 -f ~/.ssh/github_actions

# 配置权限:
mkdir -p /home/deploy/.ssh
cp ~/.ssh/authorized_keys /home/deploy/.ssh/  # 复制已有的公钥授权
chown -R deploy:deploy /home/deploy/.ssh      # 修正所有权
chmod 700 /home/deploy/.ssh                   # 设置目录权限
chmod 600 /home/deploy/.ssh/authorized_keys   # 设置文件权限

赋予静态文件存储目录权限及安装 rsync

chown -R deploy:deploy /www/wwwroot/blog
chmod -R 755 /www/wwwroot/blog
# 作用:让 `deploy` 用户有权读写该网站目录,否则 `rsync` 会报错。

yum install -y rsync --disablerepo=docker-ce-stable # 安装依赖:确保系统有同步工具

获取私钥内容

cat ~/.ssh/github_actions

# 完整复制从 `-----BEGIN RSA PRIVATE KEY-----` 到结尾的所有字符。

GitHub 仓库端

打开 Hugo 源码仓库 -> Settings -> Secrets and variables -> Actions,点击 New repository secret 添加以下三项:

SERVER_IP # 服务器公网IP
SERVER_SSH_KEY #粘贴刚才的私钥内容
REMOTE_PATH #静态文件在服务器的根目录(如 `/www/wwwroot/blog`)

完整的部署脚本

GitHub Actions 脚本,新建.github/workflows/Githubblog.yml

name: Githubblog

on:
  workflow_dispatch:  # 支持手动运行
  push:
    branches:
      - main  # 监听 main 分支推送

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Code
        uses: actions/checkout@v4
        with:
          submodules: true
          fetch-depth: 0

      - name: Setup Hugo
        uses: peaceiris/actions-hugo@v3
        with:
          hugo-version: 'latest'
          extended: true

      - name: Build
        run: hugo --minify  # hugo 编译静态文件 HTML

      # 1. 发布到本仓库的 gh-pages 分支
      - name: Deploy to GitHub Pages
        uses: peaceiris/actions-gh-pages@v3
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          publish_dir: ./public
          publish_branch: gh-pages

      # 2. 通过 rsync 同步到宝塔
      - name: Deploy to BT Panel via rsync
        uses: burnett01/rsync-deployments@v8
        with:
          switches: -avz --delete
          path: public/
          remote_path: ${{ secrets.REMOTE_PATH }}
          remote_host: ${{ secrets.SERVER_IP }}
          remote_user: deploy  
          remote_key: ${{ secrets.SERVER_SSH_KEY }}

完美搞定,似乎折腾的乐趣又勾起来了,把 Apps 页面内容也重新梳理更新了下,上次更新还是 2023 年,几年过去了,软件使用是有一些变化~