Skip to content

VitePress中配置Github Actions的deploy.yml

目录结构示例:

css
my-repo/
├── .github/
│   └── workflows/
│       ├── deploy.yml
│       └── build.yml
├── .vitepress/
├── docs/
├── README.md
└── package.json
yaml
name: Deploy VitePress # 指定工作流程名称

# 触发此工作流程的事件
# 当推送到master分支时,触发此工作流程
on: 
  push:
    branches:
      - master

# 定义一个名为deploy的工作,运行环境为ubuntu-22.04(根据你的目标服务器定)
jobs:
  deploy:
    runs-on: ubuntu-22.04
	
	# 工作流程
    steps:
      # 检出代码
      - name: Checkout code # 流程名称
        uses: actions/checkout@v4 # 将代码检出到
        with:
          fetch-depth: 0 # 拉取完整的提交历史

      - name: Set up Node.js 
        uses: actions/setup-node@v4
        with:
          node-version: 20
          cache: npm # 启用缓存 加快后续依赖安装

      - name: Install dependencies // 安装项目依赖
        run: npm install

      - name: Build VitePress
        run: npm run docs:build

	  # 具体配置步骤可以到搜索引擎搜索
      - name: Configure SSH
        env:
          SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
        run: |
          mkdir -p ~/.ssh
          echo "$SSH_PRIVATE_KEY" > ~/.ssh/github_actions
          chmod 600 ~/.ssh/github_actions
          ssh-keyscan -H ${{ secrets.SERVER_IP }} >> ~/.ssh/known_hosts

      - name: Deploy via Rsync
        run: |
          rsync -avz --delete -e "ssh -i ~/.ssh/github_actions" \
          .vitepress/dist/ \
          ${{ secrets.REMOTE_USER }}@${{ secrets.SERVER_IP }}:${{ secrets.DEPLOY_PATH }}

关于 GitHub Actions 的教程

GitHub Actions 是 GitHub 提供的持续集成和持续部署(CI/CD)服务,用于自动化构建、测试和部署流程。以下是一些学习资源:

希望这些资源能帮助您更好地理解和使用 GitHub Actions。