Skip to content
NOTHINK Blog
返回

Astro 博客框架部署

目录

点击展开目录

前提条件

第一步:安装 Node.js

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
nvm install 22
nvm use 22
nvm alias default 22
# 应该显示 v22.x.x
node -v
# 应该显示对应的版本号
npm -v
# 查看云端有哪些可安装的版本 (macOS/Linux)
nvm ls-remote
# 查看你本地已经安装的所有版本
nvm ls
# 切换版本
nvm use 
npm install -g pnpm

第二步:初始化 Astro 项目

# 使用 pnpm 创建一个新项目
pnpm create astro@latest
# 进入项目目录安装依赖
pnpm install
pnpm create astro@latest --template satnaing/astro-paper astro-paper
# 进入项目目录安装依赖
pnpm install
pnpm run dev
pnpm run build
http://localhost:4321/

第三步:利用 GitHub 提供的免费托管服务

name: Deploy to GitHub Pages (using PNPM)

on:
  push:
    # ⚠️ 1. 【修改点】根据您的主分支名称修改 (main 或 master)
    branches:
      - main 
  # 允许手动从 Actions 标签页运行工作流
  workflow_dispatch:

jobs:
  deploy:
    runs-on: ubuntu-latest
    
    steps:
      - name: ⬇️ Checkout Source Code (拉取源码)
        uses: actions/checkout@v4
        with:
          # 拉取完整的 Git 历史
          fetch-depth: 0
          
      - name: 🛠️ Setup pnpm (安装 pnpm)
        # 【解决找不到 pnpm 的问题】使用专用的 Action 确保 pnpm 可执行文件被找到
        uses: pnpm/action-setup@v3
        with:
          version: latest # 使用最新版 pnpm
          run_install: false # 暂不运行 pnpm install

      - name: ⚙️ Setup Node.js (配置 Node.js 环境及 PNPM 缓存)
        uses: actions/setup-node@v4
        with:
          node-version: '20' # 建议使用 LTS 版本
          # 明确指定包管理器为 pnpm
          cache: 'pnpm'
          # 【解决缓存错误】明确指定 pnpm 的锁定文件路径
          cache-dependency-path: 'pnpm-lock.yaml' 

      - name: 📦 Install Dependencies (安装依赖)
        # 使用 pnpm 命令安装依赖
        run: pnpm install --frozen-lockfile

      - name: 🔨 Build Project (执行构建)
        run: pnpm run build

      - name: 📋 Copy Deployment README (复制部署说明文件)
        # 将源码仓库根目录下的 README.md 复制到构建目录 dist 中
        run: cp README.md ./dist/README.md

      - name: 🚀 Deploy to nothinkblog.github.io (部署到目标仓库)
        uses: peaceiris/actions-gh-pages@v3
        with:
          # 部署密钥 Secret 的名称
          deploy_key: ${{ secrets.LEMONTEABLOG_GITHUB_KEY }}
          # ⚠️ 2. 【修改点】目标仓库的名称,请替换 'your-github-username'
          external_repository: nothinkblog/nothinkblog.github.io 
          # ⚠️ 3. 【修改点】要推送的目标分支 (通常是 main)
          publish_branch: main 
          # 构建好的文件目录
          publish_dir: ./dist 
          commit_message: ${{ github.event.head_commit.message }}

分享这篇文章:

下一篇
Ubuntu 24.04 安装 Docker