Skip to content

自动部署

脚本

sh
#!/usr/bin/env sh

set -e

npm run docs:build

cd docs/.vitepress/dist

git init 

git add -A

git commit -m '🎉deploy gh-pages🎉'

git push -f git@github.com:fxzer/zerdocs.git master:gh-pages

cd ..

rm -rf  dist

cd -

Action

::: tip 主要流程 检查代码(Checkout) ===> 启动node环境(Setup Node) ===> 构建静态文件(Build) ===> 把静态文件push到gh-pages,触发gh-pages自带的workflow部署(Push To GitHub Pages)===> 把仓库同步到Gitee(Sync to Gitee) ===> 触发Gitee Pages服务部署(Build Gitee Pages) :::

yml

name: Deploy GitHub Pages And Sync to Gitee

# 触发条件:在 push 到 master 分支后
on:
  push:
    branches:
      - master
# 任务
jobs:
  build-and-deploy:
    runs-on: ubuntu-latest #部署运行环境搭建
    steps:
      - name: Checkout 🛎️
        uses: actions/checkout@main
        with:
          persist-credentials: false
          fetch-depth: 0 #github代码拉取深度
      - name: Setup Node  🎬
        uses: actions/setup-node@main
        with:
          node-version: "lts/*"
      - name: Build 🔧 
        run: |
          yarn
          yarn run build
          ls -lrth
      - name: 📲 Push To GitHub Pages
        uses: ftnext/action-push-ghpages@v1.0.0
        with:
          build_dir: dist
          github_token: ${{ secrets.DEPLOY_TOKEN }}
      - name: 🔁 Sync to Gitee #同步到Gitee
        uses: wearerequired/git-mirror-action@master
        env:
          # 注意在此项目的 Settings->Actions-> Secrets 配置 GITEE_RSA_PRIVATE_KEY
          SSH_PRIVATE_KEY: ${{ secrets.GITEE_RSA_PRIVATE_KEY }}
        with:
          # 注意替换为你的 GitHub 源仓库地址
          source-repo: 'git@github.com:fxzer/zerdocs.git'
          # 注意替换为你的 Gitee 目标仓库地址
          destination-repo: 'git@gitee.com:fxzer/zerdocs.git'
      - name: ✅ Build Gitee Pages #触发Gitee自动部署
        uses: yanglbme/gitee-pages-action@master
        with:
          # 注意替换为你的 Gitee 用户名
          gitee-username: fxzer
          # 注意在 Settings->Secrets 配置 GITEE_PASSWORD
          gitee-password: ${{ secrets.GITEE_PASSWORD }}
          # 注意替换为你的 Gitee 仓库 
          # 坑点:https://gitee.com/fxzer/zerdocs -->则填:fxzer/zerdocs,注意仓库名和路径名不一致问题
          gitee-repo: fxzer/zerdocs 
          # 要部署的分支
          branch: gh-pages

用心去做高质量的内容网站,欢迎 star ⭐ 让更多人发现