---
title: 腾讯云免费Pages配合Github-CICD自动部署教程
published: 2025-06-28
tags: [前端, 教程]
category: 教程
draft: false
---

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

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

### 1：获取api token

![图片](./png/p1.jpg)

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

### 2：Github-CICD配置，以我的配置为例

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

<details>
  <summary>查看配置代码</summary>

```
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"
```

</details>



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


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

![图片](./png/p2.jpg)

![图片](./png/p3.jpg)


### 4：构建

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

![图片](./png/p4.jpg)


### 5：配置自定义域名

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

![图片](./png/p5.jpg)


**我的腾讯云Pages域名是：[blog.emohe.cn](https://blog.emohe.cn)**
