本地构建
TERMINALbash
npm run build构建过程:
- Astro SSG 编译所有页面为静态 HTML,输出到
dist/ - 过滤 Shiki 语法高亮器非关键警告
- 扫描
src/content/生成public/search-index.json
构建完成后 dist/ 目录可直接部署。
构建输出结构
CODEtext
dist/├── index.html├── 404.html├── cloud.html├── cloud/│ ├── ansible.html│ ├── ansible/01-ansible-lab-setup.html│ └── ...├── network/├── os/├── tech/├── manuals/│ ├── ictstu/│ ├── eve-ng/│ └── eid/├── _astro/ # 编译后的 CSS/JS 资源├── favicon.ico├── robots.txt├── sitemap.xml└── rss.xml部署方式
阿里云 OSS
项目使用 updategitbook.py 脚本实现一键部署(需安装 oss2):
TERMINALbash
pip install oss2python updategitbook.py脚本流程:构建 → 清理 OSS → 上传 OSS → 刷新 CDN → 百度推送 → Git Push。
其他平台
Astro 生成的纯静态文件可部署到任何静态托管服务:
TERMINALbash
# Vercelnpm install -g vercelvercel --prod# Netlifynpm install -g netlify-clinetlify deploy --prod --dir=dist# 任意 Nginx 服务器cp -r dist/* /var/www/html/CI/CD 自动化
GitHub Actions
CODEyaml
name: Deployon:push: branches: [main]jobs:build-and-deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 22 - run: npm ci - run: npm run build - uses: peaceiris/actions-gh-pages@v4 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./dist