517 字
3 分钟
腾讯云免费Pages配合Github-CICD自动部署教程
腾讯云免费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 22
和pnpm 9
,可以根据自己情况修改,触发条件是有新的推送即可自动触发任务,README.md文件除外,同时也支持手动点击触发。
3:在仓库的设置里添加token变量,是仓库的设置,不是账号的设置。
4:构建
配置好了后就可以触发构建了,提交一次代码或者手动点击触发构建,等待构建完成后,就可以回到刚刚的腾讯云pages后台查看了。
5:配置自定义域名
点击这个项目,然后找到项目设置就可以添加自定义域名了,添加后然后将域名CNAME解析一下就完成了。
我的腾讯云Pages域名是:blog.emohe.cn