服务器上用 rsync 或者直接把整个 public 目录同步过去,Nginx 直接读就行,非常简单。
GitHub Actions 配置
关键就是在 Actions 里遍历所有站点,逐个生成:
jobs: deploy: runs-on:ubuntu-latest steps: -uses:actions/checkout@v4 -name:Buildallsites run:| for site in sites/*/; do if [ -f "$site/package.json" ]; then echo "Building $site..." cd "$site" npm install npx hexo generate cd - fi done -name:Deploytoserver # 这里用你喜欢的方式部署到服务器 uses:appleboy/ssh-action@v1 with: host:${{secrets.HOST}} username:${{secrets.USERNAME}} key:${{secrets.KEY}} script:| cd /var/www/qinglu.online git pull # 把每个站点的 public 同步到对应目录 ...