使用Hexo和GitPages搭建博客
略
配置Action
申请Github_Token
配置Git_Token
创建Action文件
在博客源码根目录下创建 .github/workflows/post.yaml
文件
文件内容
name: Deployment
# 触发条件:在 push 到 main 分支后
on:
push:
branches:
- main
jobs:
Blog-Deployment:
runs-on: ubuntu-latest
env:
TZ: Asia/Shanghai
steps:
- name: Checkout Blog_source
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
run: |
git clone "https://[email protected]/Fuxx-1/Blog_source"
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: '18.x'
- name: Install dependencies & Generate static files
run: |
cd ./Blog_source
node -v
npm i -g hexo-cli
npm i
hexo clean
hexo g
- name: Deploy to Github Pages
env:
GIT_NAME: fuxx-1
GIT_EMAIL: ${{ secrets.GIT_EMAIL }}
REPO: github.com/fuxx-1/fuxx-1.github.io
GH_TOKEN: ${{ secrets.GH_TOKEN }}
run: |
cd ./Blog_source
cd ./public && git init && git add .
git config --global user.name $GIT_NAME
git config --global user.email $GIT_EMAIL
git commit -m "Site deployed by GitHub Actions from Blog_Source"
git push --force --quiet "https://$GH_TOKEN@$REPO" master:master
各部分代码作用解释
on:
push:
branches:
- main
触发条件:在 push 到 main 分支后
jobs:
Blog-Deployment:
runs-on: ubuntu-latest
env:
TZ: Asia/Shanghai
steps:
使用ubuntu最新版系统运行
- name: Checkout Blog_source
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
run: |
git clone "https://[email protected]/Fuxx-1/Blog_source"
克隆源码仓库、将 github.com/Fuxx-1/Blog_source
改为自己存放博客源码的仓库
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: '18.x'
安装node
- name: Install dependencies & Generate static files
run: |
cd ./Blog_source
node -v
npm i -g hexo-cli
npm i
hexo clean
hexo g
安装hexo环境和依赖、并生成静态页面
- name: Deploy to Github Pages
env:
GIT_NAME: fuxx-1
GIT_EMAIL: ${{ secrets.GIT_EMAIL }}
REPO: github.com/fuxx-1/fuxx-1.github.io
GH_TOKEN: ${{ secrets.GH_TOKEN }}
run: |
cd ./Blog_source
cd ./public && git init && git add .
git config --global user.name $GIT_NAME
git config --global user.email $GIT_EMAIL
git commit -m "Site deployed by GitHub Actions from Blog_Source"
git push --force --quiet "https://$GH_TOKEN@$REPO" master:master
将静态页面发布至pages仓库、将 GIT_NAME
改为自己的用户名、将 REPO
改为自己的pages仓库