前言#
- 如何部署Hexo请移步上篇文章
- 也是以Termux为终端,桌面端的宝子除了终端不同,其他步骤大差不差
准备工作#
安装Git和OpenSSH#
输入
pkg install git&&openssh -yshell等待进程跑完然后
配置Git#
根据需求,选择适合自己的Git托管平台
以GitHub ↗做演示
逐条输入
git config --global user.name '<username>'
git config --global user.email '<useremail>'shell并回车,以做Git全局配置
配置OpenSSH#
输入
ssh-keygen -t rsa -C "<useremail>"shell回车,并再连续三次回车,生成公钥
然后再输入
cat .ssh/id_rsa.pubshell查看公钥,把反出的一大长串复制下来,
然后打开SSH and GPG Keys ↗,往下滑,点New SSH Key,照下图填写
然后点 Add SSH Key
将代码托管到GitHub仓库#
点New Repository ↗创建新仓库,仓库名称就按<username>.github.io来填,
然后点Create Repository
初始化仓库#
返回Termux,cd到博客文件夹,然后逐条输入
git init
git add .
git commit -m "<commitment>"
git branch -M main
git remote add origin git@github.com:<username>/<username>.github.io.gitshell<commitment>随便。然后再输入
git push -u origin mainshell进程跑完后,博客文件就被托管到远程仓库了
接下来就是重头戏部署到各Pages#
GitHub Pages#
利用GitHub Actions部署,大陆容易被墙
开始#
我们在博客文件夹下创建依次创建
.github/workflows/pages.yml1,并填入
name: Pages
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
submodules: recursive
- name: Use Node.js 24 # 填自己的大版本号
uses: actions/setup-node@v4
with:
node-version: "24.13.0" # 填自己的详细版本号
- name: Cache NPM dependencies
uses: actions/cache@v4
with:
path: node_modules
key: ${{ runner.OS }}-npm-cache
restore-keys: |
${{ runner.OS }}-npm-cache
- name: Install Dependencies
run: npm install
- name: Build
run: npm run build
- name: Upload Pages artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./public
deploy:
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@v4yaml并保存,
打开仓库设置里的Pages,把Bulid and deployment下的Source从Deploy from a branch改为GitHub Actions,
返回Termux,输入
git push --forceshell等待推送完毕,此时我们打开仓库的Actions,当一切皆绿时,我们点击deploy下面给的类似于 xxytan.github.io 地址,就能访问我们的博客啦🎉!
绑定域名#
在博客文件夹内创建一个CNAME文件,将要绑定的自定义域填入,然后
git add .
git pushshell再到你的域名管理商添加CNAME记录,值为 <username>.github.io
继续到仓库设置的Pages,在右侧Custom domain下填入前面输入的自定义域,点Save,等待下方成DNS check successful,能成功访问自定义域就成功啦🎉
Cloudflare Pages#
站长最推荐,后续可参照此文章优选而提高在大陆地区访问速度
开始#
打开计算和 AI下的Workers and Pages,点创建应用程序,再点下面的Get started
选择 导入现有的 Git 存储库,授权一下你的 GitHub,然后选择前面创建的仓库,再按下面的填:
npx run build # 构建命令
public # 构建输出目录bash然后点保存并部署
等待他部署完成,会给一个 xxxxx.pages.dev 的域名,点进去也是能够访问的
绑定域名#
打开项目,点 自定义域 → 设置自定义域,跟着引导走,等到呈现活动状态就能够通过自定义域访问了
EdgeOne Pages#
腾讯的玩意儿,在国内的访问速度确实不错,后续也可以通过添加
A记录优选 已备案的域名最推荐的方式
开始#
登录EdgeOne ↗,
点Pages → 创建项目 → 导入 Git 仓库,授权一下GitHub,
选择前面创建的仓库,会自动匹配框架预设,我们就直接点开始部署就好了
部署完毕后会有一个 xxxxx.edgeone.xxx 域名,三个小时后过期,打开后也是能够访问的
绑定域名#
打开项目,点到项目设置,找到添加自定义域,跟着引导走就行了,等到DNS记录&证书都呈现已部署状态就能通过自定义域名访问了
Vercel#
大陆访问速度还行,后续也可以通过优选提高访问速度,具体方法参考此文章
开始#
登录Vercel ↗,新账号会引导创建团队,
点右上角的Add New…,选Project,授权一下你的GitHub,
选择前面创建的仓库,会自动匹配预设,若未自动匹配请自行选择
然后点Deploy,等待一会就部署好啦,点Go to Dashboard,就能看到一个 xxxxx.vercel.app 的域名,打开也是能够访问的
绑定域名#
点Domains旁的”➕“,
然后点Add Domain,输入你想绑定的域名,点Save或回车,再把给出的CNAME记录vi添加到域名管理商,耐心等待一会,直至呈现可用(Valid Configuration)就行啦
Netlify#
同Vercel,但其IP容易被GFW阻断
开始#
登录Netlify ↗,新账号会引导创建团队,
点右上角的Add new project,选Import an existing project,授权一下你的GitHub,
选择前面创建的仓库,项目名称(Project name)随便。会自动识别并填写关键信息,否则请自行填写
部署完成后,打开 ;name.netlify.app 也是可以访问的
绑定域名#
切到Domain management,右边点Add a domain下的Add a domain you already own,
填入你的域名,然后点Verify,会要求进行TXT域名所有权验证,我们可以直接点击下方的Add subdomain跳过验证
此时到域名管理商添加值为;name.netlify.app的CNAME记录,解析成功后会自动申请并部署SSL证书
结束#
- 其实也可以直接用hexo-deployer-git插件一键生成静态资源并部署到仓库,具体请看官方文档 ↗,但是我个人不推荐
- 有考虑专门出一篇文章介绍如何部署到cf workers
Footnotes#
-
先创建
.github文件夹,再在里面创建workflows文件夹,最后在里面创建pages.yml文件 ↩