517 字
3 分钟
腾讯云免费Pages配合Github-CICD自动部署教程
2025-06-28

腾讯云免费Pages配合Github-CICD自动部署教程

地址:https://console.cloud.tencent.com/edgeone/pages

1:获取api token#

图片

创建一个token,名称随便填,有效期看情况选择,我选的永久。

2:Github-CICD配置,以我的配置为例#

Github仓库文件路径.github/workflows/edgeone.yml

查看配置代码
name: 腾讯pages推送

on:
  push:
    paths:
      - 'README.md'
  workflow_dispatch:

permissions:
  contents: read

concurrency:
  group: "build"
  cancel-in-progress: false

env:
  BUILD_PATH: "."

jobs:
  build:
    name: 构建并部署
    runs-on: ubuntu-latest
    steps:
      - name: 检出代码
        uses: actions/checkout@v4

      - name: 安装 Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '22'

      - name: 安装 pnpm
        uses: pnpm/action-setup@v4
        with:
          version: 9
          standalone: true

      - name: 安装 edgeone CLI
        run: npm install -g edgeone

      - name: 检测包管理器
        id: detect-package-manager
        run: |
          if [ -f "${{ github.workspace }}/yarn.lock" ]; then
            echo "manager=yarn" >> $GITHUB_OUTPUT
            echo "command=install" >> $GITHUB_OUTPUT
            echo "runner=yarn" >> $GITHUB_OUTPUT
            echo "lockfile=yarn.lock" >> $GITHUB_OUTPUT
            exit 0
          elif [ -f "${{ github.workspace }}/package.json" ]; then
            echo "manager=pnpm" >> $GITHUB_OUTPUT
            echo "command=install" >> $GITHUB_OUTPUT
            echo "runner=pnpm" >> $GITHUB_OUTPUT
            echo "lockfile=pnpm-lock.yaml" >> $GITHUB_OUTPUT
            exit 0
          else
            echo "无法检测到包管理器"
            exit 1
          fi

      - name: 安装依赖
        run: pnpm install
        working-directory: ${{ env.BUILD_PATH }}

      - name: 安装 sharp 依赖
        run: pnpm add sharp
        working-directory: ${{ env.BUILD_PATH }}

      - name: 构建产物
        run: pnpm run build
        working-directory: ${{ env.BUILD_PATH }}

      - name: 上传构建产物
        uses: actions/upload-artifact@v4
        with:
          name: astro-build-artifact
          path: ${{ env.BUILD_PATH }}/dist
          retention-days: 1

      - name: 部署到 edgeone
        env:
          EDGEONE_API_TOKEN: ${{ secrets.EDGEONE_API_TOKEN }}
        run: |
          edgeone pages deploy ./dist -n project-name -t "$EDGEONE_API_TOKEN"

此流水线的配置环境是node 22pnpm 9,可以根据自己情况修改,触发条件是有新的推送即可自动触发任务,README.md文件除外,同时也支持手动点击触发。

3:在仓库的设置里添加token变量,是仓库的设置,不是账号的设置。#

图片

图片

4:构建#

配置好了后就可以触发构建了,提交一次代码或者手动点击触发构建,等待构建完成后,就可以回到刚刚的腾讯云pages后台查看了。

图片

5:配置自定义域名#

点击这个项目,然后找到项目设置就可以添加自定义域名了,添加后然后将域名CNAME解析一下就完成了。

图片

我的腾讯云Pages域名是:blog.emohe.cn

腾讯云免费Pages配合Github-CICD自动部署教程
https://emohe.cn/posts/28/
作者
阿涛の小破站
发布于
2025-06-28
许可协议
CC BY-NC-SA 4.0