- 查看: 168
- 回复: 3
如题我使用了Hexo构建程序搭建了一个博客
:https://nemocat.top
之前是通过本地编写文章,然后通过Hexo的Deploy-Git(好像是这个?)插件将构建好后的静态网页推送到Github仓库里。虽然这样也能用,但是为了方便,也为了高效率,我采用了Github 工作流的方案。本身的原理很简单:
以下是抄来并做点小修正的DoubleAm的工作流配置:
:https://nemocat.top之前是通过本地编写文章,然后通过Hexo的Deploy-Git(好像是这个?)插件将构建好后的静态网页推送到Github仓库里。虽然这样也能用,但是为了方便,也为了高效率,我采用了Github 工作流的方案。本身的原理很简单:
- 创建两个仓库:
- 公开仓库(用于对外展示博客:用户名.github.io)
- 私有仓库(存放构建程序)
- 在私有仓库创建工作流文件,大概配置以下内容
- 配置构建环境
- 安装Hexo
- 构建静态网页
- 将静态网页推送至公开仓库
- 把推送到的公共仓库分支设置为Github Page分支即可
以下是抄来并做点小修正的DoubleAm的工作流配置:
YAML:
name: DoubleAm's Blog CI/CD # 脚本 workflow 名称
on:
push:
branches: [main, master] # 当监测 main,master 的 push
paths: # 监测所有 source 目录下的文件变动,所有 yml,json 后缀文件的变动。
- '*.json'
- '**.yml'
- '**/source/**'
jobs:
blog: # 任务名称
timeout-minutes: 30 # 设置 30 分钟超时
runs-on: ubuntu-latest # 指定最新 ubuntu 系统
steps:
- uses: actions/checkout@v2 # 拉取仓库代码
- uses: actions/setup-node@v2 # 设置 node.js 环境
- name: Cache node_modules # 缓存 node_modules,提高编译速度,毕竟每月只有 2000 分钟。
uses: actions/cache@v4 # 亲测 Github 服务器编译速度比我自己电脑都快,如果每次构建按5分钟计算,我们每个月可以免费部署 400 次,Github yyds!!!
env:
cache-name: cache-node-modules
with:
path: ~/.npm
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name: Init Node.js # 安装源代码所需插件
run: |
npm install
echo "init node successful"
- name: Install Hexo-cli # 安装 Hexo
run: |
npm install -g hexo-cli --save
echo "install hexo successful"
- name: Build Blog # 编译创建静态博客文件
run: |
hexo clean
hexo g
echo "build blog successful"
- name: Deploy DoubleAm's Blog # 设置 git 信息并推送静态博客文件
run: |
git config --global user.name "doubleam"
git config --global user.email "admin@biugle.cn"
hexo deploy
- run: echo "Deploy Successful!"
附加:
使用CloudFlare Page加速你的博客:
什么是CloudFlare?
CloudFlare(简称CF)是全球领先的网络服务提供商,以其内容分发网络(CDN)、网络安全、域名注册和边缘计算等核心业务而闻名。它通过遍布100多个国家的数据中心网络,帮助网站提升访问速度、抵御网络攻击并优化性能。-DeepSeek
我们这里使用CloudFlare的Pages服务,他也是一个免费的网页托管服务,并且因为CloudFlare自身的网络优化,他在国内的访问速度也是很快的,很适合我们搭建博客(而且自带防护),我们只需要CloudFlare Page设置个二级域名,然后绑定自己Github账户,选择自己的Github公开仓库克隆过来即可,我这里就是在CloudFlare上面设置了我的自定义域名,还顺便白嫖了SSL,只能说赛博活菩萨这块()- 内容版权许可
- CC BY-SA 署名-相同方式共享