Files
dao-os-docs/.gitea/workflows/build_and_deploy_docs.yml
李东云 ebde0a1a34
All checks were successful
Build and Deploy mdBook / build-and-deploy (push) Successful in 4m2s
ci(文档部署): 优化文档构建和部署流程
- 添加缓存步骤减少重复下载 mdBook
- 修复安装 mdBook 时的目录创建问题
- 简化部署脚本并移除冗余注释
2025-06-10 02:52:32 +08:00

50 lines
1.6 KiB
YAML

name: Build and Deploy mdBook
on:
push:
branches:
- main
jobs:
build-and-deploy:
runs-on: docs-deployer
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Cache mdBook
id: cache-mdbook
uses: actions/cache@v3
with:
path: ~/.local/bin/mdbook
key: ${{ runner.os }}-mdbook-0.4.36
- name: Install mdBook if not cached
# 只有在缓存未命中时才执行
if: steps.cache-mdbook.outputs.cache-hit != 'true'
run: |
# --- ↓↓↓ 新增的修复步骤 ↓↓↓ ---
# 在解压前,确保目标目录存在。-p 参数会创建所有必要的父目录。
echo "Creating directory ~/.local/bin..."
mkdir -p ~/.local/bin
# --- ↑↑↑ 修复步骤结束 ↑↑↑ ---
echo "Downloading and extracting mdBook..."
curl -sL https://github.com/rust-lang/mdBook/releases/download/v0.4.36/mdbook-v0.4.36-x86_64-unknown-linux-gnu.tar.gz | tar xvz -C ~/.local/bin
chmod +x ~/.local/bin/mdbook
- name: Build mdBook docs
# 使用缓存或刚刚安装的 mdbook 进行构建
run: ~/.local/bin/mdbook build
- name: Deploy to Gitea Pages Directory
run: |
TARGET_DIR="/mnt/gitea-pages/dao-os/dao-os-docs"
SOURCE_DIR="./book"
echo "🚀 Deploying to host via volume mount using 'cp'..."
mkdir -p "$TARGET_DIR"
find "$TARGET_DIR" -mindepth 1 -delete
cp -r "$SOURCE_DIR"/. "$TARGET_DIR/"
echo "✅ Deployment successful!"