Astro项目GitHub Pages部署指南

详解Astro应用在GitHub Pages的自动化部署流程

GitHub Actions配置

/.github/workflows/deploy.yml
name: Deploy to GitHub Pages

on:
  push:
    branches: [main]

jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      
      - name: Setup Node
        uses: actions/setup-node@v3
        with:
          node-version: 20

      - run: npm ci
      - run: npm run build

      - name: Deploy
        uses: peaceiris/actions-gh-pages@v3
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          publish_dir: ./dist

Astro静态输出适配

// astro.config.mjs
export default defineConfig({
  output: 'static',
  trailingSlash: 'always',
  base: '/repo-name/' // 需替换为实际仓库名
});

gh-pages分支管理

  1. 创建并切换至gh-pages分支
  2. 设置GitHub Pages源分支
  3. 配置Actions权限

自定义域名配置

  1. 在public目录创建CNAME文件
  2. 配置DNS解析记录
  3. 开启GitHub Pages的HTTPS强制跳转

部署流程图