想整个静态的博客部署在github pages
历经两天的折磨终于是摸索成功了,官网的文档太简陋了,很多东西没说清楚。
最终实现的效果,一个项目仓库,main 分支存放源代码,gh-pages 存放生成后的网页代码,github pages 加载gh-pages的网页代码。这样,每当我们push代码到main分支的时候,github action会自动构建并将代码发布到gh-pages
搭建环境:
linux plasma manjaro
nodejs 20
git 2.43
github 配置好ssh(可以参考我前面教程)
vscode
?
npm install -g hexo-cli
hexo init test
cd test
?
npm install
npm install hexo-deployer-git --save
写仓库名字即可,其他不要勾选。
添加名为KEY的变量?
内容是你的私钥
?编辑 _config.yml 来到最后一行
这行来到这里获取
在 .github文件夹下创建 workflows文件夹,再创建文件 deploy.yml
输入以下内容
name: Deploy Hexo
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Check Out
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20
- name: Setup Git
run: |
git config --global user.name "你的 github 用户名"
git config --global user.email "你的 github 邮箱"
- name: Setup SSH Key
run: |
mkdir -p ~/.ssh
echo "${{ secrets.KEY }}" > ~/.ssh/id_ed25519
chmod 600 ~/.ssh/id_ed25519
- name: Install Dependencies
run: |
npm install -g hexo-cli
npm install
- name: Deploy Hexo
run: |
hexo clean
hexo generate
hexo deploy
八、初始化git仓库,注意是在hexo博客文件夹下
git init
git add .
git commit -m "Initial commit"
git remote add origin git@github.com:mobeicanyue/test.git
git push -u origin main -f
?