name: 构建并部署到腾讯云 COS on: push: branches: [main] # 可以改为你的主分支名称 workflow_dispatch: # 允许手动触发 jobs: build-and-deploy: runs-on: ubuntu-latest steps: - name: 检出代码 uses: actions/checkout@v3 - name: 设置 Node.js 环境 uses: actions/setup-node@v3 with: node-version: "16" # 根据你的项目需求选择版本 - name: 安装依赖 run: npm install - name: 缓存依赖 uses: actions/cache@v3 with: path: ~/.npm key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-node- - name: 构建 run: npm run docs:build # 添加这个步骤以设置兼容的 Python 版本 - name: 设置 Python 3.10 uses: actions/setup-python@v4 with: python-version: "3.10" - name: 安装腾讯云 CLI run: pip install coscmd - name: 配置腾讯云 COS 认证 run: | coscmd config -a ${{ secrets.TENCENT_SECRET_ID }} -s ${{ secrets.TENCENT_SECRET_KEY }} -b ${{ secrets.COS_BUCKET }} -r ${{ secrets.COS_REGION }} - name: 上传到腾讯云 COS run: | coscmd upload -r .vuepress/dist/ / - name: 安装 nodemailer if: success() # 仅在上述步骤成功时执行 run: npm install nodemailer - name: 发送邮件通知 if: success() # 仅在上述步骤成功时执行 run: node .vuepress/scripts/send-email.js "${{ secrets.EMAIL_USER }}" "${{ secrets.EMAIL_PASS }}" "${{ secrets.EMAIL_TO }}" # - name: 部署到腾讯云 COS # uses: TencentCloud/cos-action@v1 # with: # secret_id: ${{ secrets.TENCENT_SECRET_ID }} # secret_key: ${{ secrets.TENCENT_SECRET_KEY }} # cos_bucket: ${{ secrets.COS_BUCKET }} # cos_region: ${{ secrets.COS_REGION }}