Some checks failed
Build and Deploy mdBook / build-and-deploy (push) Failing after 1m27s
使用专用的 docs-deployer runner 替代通用 runner,移除 Rust 工具链缓存和安装步骤 直接通过 volume mount 部署文档,使用 rsync 替代 cp 命令提高部署效率
41 lines
1.1 KiB
YAML
41 lines
1.1 KiB
YAML
name: Build and Deploy mdBook
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
build-and-deploy:
|
|
# 依然使用标签,确保任务只被这个配置了挂载的 Runner 执行
|
|
runs-on: docs-deployer
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Install mdBook
|
|
uses: peaceiris/actions-mdbook@v1
|
|
with:
|
|
mdbook-version: "latest"
|
|
|
|
- name: Build mdBook
|
|
run: mdbook build
|
|
|
|
# 部署步骤变得无比简单!
|
|
- name: Deploy to Gitea Pages Directory
|
|
run: |
|
|
# 这是我们挂载到容器内的路径,后面拼接上你的项目路径
|
|
TARGET_DIR="/mnt/gitea-pages/dao-os/dao-os-docs"
|
|
|
|
echo "🚀 Deploying to host via volume mount..."
|
|
|
|
# 确保目标目录存在
|
|
mkdir -p "$TARGET_DIR"
|
|
|
|
# 使用 rsync 进行高效、安全的本地文件同步
|
|
# 它比 cp -r 更好,因为它只会同步有变化的文件,并且有 --delete 选项
|
|
rsync -a --delete ./book/ "$TARGET_DIR/"
|
|
|
|
echo "✅ Deployment successful!"
|