# name: Deploy Pages # # 触发条件,push到main分支或者pull request到main分支 # on: # push: # branches: [main] # pull_request: # branches: [main] # # 支持手动在工作流上触发 # workflow_dispatch: # # 设置时区 # env: # TZ: Asia/Shanghai # # 权限设置 # permissions: # # 允许读取仓库内容的权限。 # contents: read # # 允许写入 GitHub Pages 的权限。 # pages: write # # 允许写入 id-token 的权限。 # id-token: write # # 并发控制配置 # concurrency: # group: pages # cancel-in-progress: false # # 定义执行任务 # jobs: # # 构建任务 # build: # runs-on: ubuntu-latest # # node v20 运行 # strategy: # matrix: # node-version: [20] # steps: # # 拉取代码 # - name: Checkout # uses: actions/checkout@v4 # with: # # 保留 Git 信息 # fetch-depth: 0 # # 设置使用 Node.js 版本 # - name: Use Node.js ${{ matrix.node-version }} # uses: actions/setup-node@v4 # with: # node-version: ${{ matrix.node-version }} # # 使用 最新的 PNPM # # 你也可以指定为具体的版本 # - uses: pnpm/action-setup@v4 # name: Install pnpm # with: # version: latest # # version: 9 # run_install: false # # 安装依赖 # - name: Install dependencies # run: pnpm install --no-frozen-lockfile # # 锁定依赖版本 # # run: pnpm install --frozen-lockfile # # 构建项目 # - name: Build blog project # run: | # echo ${{ github.workspace }} # pnpm build # # 资源拷贝 # - name: Build with Jekyll # uses: actions/jekyll-build-pages@v1 # with: # source: ./docs/.vitepress/dist # destination: ./_site # # 上传 _site 的资源,用于后续部署 # - name: Upload artifact # uses: actions/upload-pages-artifact@v3 # # 部署任务 # deploy: # environment: # name: github-pages # url: ${{ steps.deployment.outputs.page_url }} # runs-on: ubuntu-latest # needs: build # steps: # - name: Deploy to GitHub Pages # id: deployment # uses: actions/deploy-pages@v4