更新gitea笔记 #321
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Deploy to GitHub Pages | |
| on: | |
| push: | |
| branches: | |
| - master | |
| jobs: | |
| build: | |
| name: Build Docusaurus | |
| runs-on: ubuntu-latest | |
| steps: | |
| # ===== 记录开始时间(秒)===== | |
| - name: Record build start time | |
| run: echo "BUILD_START_TS=$(date +%s)" >> $GITHUB_ENV | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| cache: npm | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build website | |
| env: | |
| ALGOLIA_API_KEY: ${{ secrets.ALGOLIA_API_KEY }} | |
| ALGOLIA_APP_ID: ${{ secrets.ALGOLIA_APP_ID }} | |
| ALGOLIA_INDEX_NAME: ${{ secrets.ALGOLIA_INDEX_NAME }} | |
| run: npm run build | |
| - name: Upload Build Artifact | |
| uses: actions/upload-pages-artifact@v3 | |
| with: | |
| path: build | |
| - name: Extract commit message | |
| run: echo "COMMIT_MSG=$(git log -1 --pretty=%B | tr -d '\n')" >> $GITHUB_ENV | |
| # ===== 计算构建耗时 ===== | |
| - name: Calculate build duration | |
| run: | | |
| END_TS=$(date +%s) | |
| DURATION=$((END_TS - BUILD_START_TS)) | |
| MIN=$((DURATION / 60)) | |
| SEC=$((DURATION % 60)) | |
| echo "BUILD_DURATION=${MIN} 分 ${SEC} 秒" >> $GITHUB_ENV | |
| # ===== 成功通知 ===== | |
| - name: Send success notification | |
| if: success() | |
| env: | |
| WEBHOOK_KEY: ${{ secrets.WECHAT_WEBHOOK_KEY }} | |
| run: | | |
| TIMESTAMP=$(TZ=Asia/Shanghai date "+%Y-%m-%d %H:%M:%S") | |
| curl -X POST -H "Content-Type: application/json" \ | |
| -d "{ | |
| \"msgtype\": \"markdown\", | |
| \"markdown\": { | |
| \"content\": \"**发布结果通知**\\n\\n**申请标题:** ${COMMIT_MSG}\\n\\n**应用名称:** docusaurus\\n\\n**应用版本:** master#${{ github.sha }}\\n\\n**执行人员:** Webhook\\n\\n**发布结果:** <font color=\\\"info\\\">成功</font>\\n\\n**构建耗时:** ${BUILD_DURATION}\\n\\n**发布时间:** ${TIMESTAMP}\\n\\n> 来自 GitHub Actions\" | |
| } | |
| }" \ | |
| https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=${WEBHOOK_KEY} | |
| # ===== 失败通知 ===== | |
| - name: Send failure notification | |
| if: failure() | |
| env: | |
| WEBHOOK_KEY: ${{ secrets.WECHAT_WEBHOOK_KEY }} | |
| run: | | |
| TIMESTAMP=$(TZ=Asia/Shanghai date "+%Y-%m-%d %H:%M:%S") | |
| curl -X POST -H "Content-Type: application/json" \ | |
| -d "{ | |
| \"msgtype\": \"markdown\", | |
| \"markdown\": { | |
| \"content\": \"**发布结果通知**\\n\\n申请标题: ${COMMIT_MSG}\\n\\n应用名称: docusaurus\\n\\n应用版本: master#${{ github.sha }}\\n\\n执行人员: Webhook\\n\\n发布结果: <font color=\\\"warning\\\">失败</font>\\n\\n**构建耗时:** ${BUILD_DURATION}\\n\\n**发布时间:** ${TIMESTAMP}\\n\\n> 来自 GitHub Actions\" | |
| } | |
| }" \ | |
| https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=${WEBHOOK_KEY} | |
| deploy: | |
| name: Deploy to GitHub Pages | |
| needs: build | |
| permissions: | |
| pages: write | |
| id-token: write | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Deploy to GitHub Pages | |
| id: deployment | |
| uses: actions/deploy-pages@v4 |