name: 自动部署 on: push: branches: - master release: types: - published workflow_dispatch: env: TZ: Asia/Shanghai jobs: deploy: runs-on: ubuntu-latest steps: - name: 检出分支 uses: actions/checkout@v4 with: ref: master - name: 缓存项目 npm 包 id: cache-node-modules uses: actions/cache@v3 with: path: node_modules key: ${{ runner.os }}-nodeModules-${{ hashFiles('package-lock.json') }}-${{ hashFiles('package.json') }} restore-keys: | ${{ runner.os }}-nodeModules- - name: 安装 Node uses: actions/setup-node@v4 with: node-version: "22.x" - name: 安装依赖 if: steps.cache-node-modules.outputs.cache-hit != 'true' run: | npm install - name: 同步 Astro 类型 run: | npm run clean - name: 生成静态文件 run: | npm run build - name: 部署到 page 分支 run: | cd ./dist git init git config user.name "${{ gitea.actor }}" git config user.email "${{ gitea.actor }}@noreply.gitea.io" git add . git commit -m "${{ gitea.event.head_commit.message }} -- [$(date +"%Z %Y-%m-%d %A %H:%M:%S")]" git push --force --quiet "https://${{ gitea.actor }}:${{ secrets.DEPLOY_TOKEN }}@git.biss.click/biss/blog.git" master:page - name: 触发服务器部署 run: | curl -k -X POST "https://panel.biss.click/hook?access_key=1XJG8IvYTSZVvD5dpm86GYIpQxgxBcucULnX1MFskZSKayXU"