Hexo 部署至GithubPages

本文最后更新于 2023年12月10日 11:35

前面给大家介绍了如何在本地部署 Hexo 静态博客

这篇文章我们就将本地的静态博客部署到 Github Pages上 , 使得你的博客可以通过网址访问的到 不仅仅限制于自己在本地预览了

在正式开始之前 , 我像大家介绍一下什么是 Github Pages

Github Pages

GitHub Pages是GitHub提供的一项功能,允许用户将静态网页托管在GitHub的服务器上。用户可以创建一个特定的仓库,将HTML、CSS、JavaScript等网页文件推送到该仓库中,并通过特定的URL访问这些网页。这些网页可以用于个人网站、项目文档、博客等用途。GitHub Pages提供了免费的托管服务,并且集成了Git版本控制系统,使得用户可以方便地更新和管理自己的网站内容。

简单的说GitHub Pages 是一个静态网站托管服务。
GitHub Pages是设计用来托管你的个人页面,组织页面,或者 Github 仓库的项目页面

警告:GitHub Pages网站在互联网上是公开的,即使是私有仓库也一样。如果在你的私有Github仓库页面有敏感数据,你需要在发布之前删除他们。

Github 账号参考网上教程即可

废话不多说 直接上教程

环境:

Windows
nodejs 20.12.0
git 2.44.0
github 账号配置好 ssh

你需要熟知的技能:git 相关操作

如何将内容部署至 Github Pages 上

新建 Github 仓库

新建 用户名.github.io 仓库
image.png

创建的仓库名 建议为 用户名.github.io
只有这样,将来要部署到GitHub page的时候,才会被识别
image.png

记住这串 仓库的ssh地址 后面要用到
image.png

部署你的 ssh 公钥 到仓库

  1. 创建本地 SSH 密匙:
    输入 ssh-keygen -t rsa -C "GitHub 邮箱",然后一路回车。
    image.png

进入 [C:\Users\用户名.ssh] 目录(要勾选显示“隐藏的项目”),用记事本打开公钥 id_rsa.pub 文件并复制里面的内容。
image.png

  1. 登陆 GitHub ,进入刚才新建的仓库 Settings 页面,选择左边栏的 Deploy keys,点击 Add deploy key
    image.png

  2. 填写秘钥【这里的Title名字随意,key 需要复制自己的公钥 id_rsa.pub 文件中的所有】
    image.png

我这里起名叫KEY了

  1. 验证连接,打开 Git Bash或者是powershell,输入 ssh -T git@github.com 出现 “Are you sure……”,输入 yes 回车确认,当显示显示 “Hi xxx! You’ve successfully……” 即连接成功。如下所示
    1
    2
    3
    4
    5
    6
    7
    admin@DESKTOP-7OBCEI0 MINGW64 ~/Desktop
    $ ssh -T git@github.com

    Warning: Permanently added 'github.com' (ED25519) to the list of known hosts.

    Hi shuaidan-0/shuaidan-0.github.io! You've successfully authenticated, but GitHub does not provide shell access.

新建 gh-pages 分支并将其设置为 pages 的默认部署分支

点击分支
image.png

创建 gh-pages 分支
image.png

设置 gh-pages 为 pages 的默认部署分支
image.png

编写 github actions 代码

修改 _config.yml 文件的 repo 改成你仓库的 ssh 地址
image.png

在 hexo 博客文件夹的 .github 目录创建 deploy.yml 文件
image.png

下面的代码需要修改你的用户名和邮箱
还有你对应的 nodejs 版本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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 "用户名"
git config --global user.email "邮箱"

- 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 hexo-deployer-git --save
npm install

- name: Deploy Hexo
run: |
hexo clean
hexo generate
hexo deploy

上面的${{ secrets.KEY }} 就是我们前面设置的私钥

上传内容至 Github Pages 上

在自己的本地博客目录下使用 git 复制下列代码即可

1
hexo clean && hexo g && hexo d
  • hexo clean: 清除生成的静态文件和缓存。
  • hexo ghexo generate: 生成静态文件。
  • hexo dhexo deploy: 部署静态文件到指定的服务器或平台上。

注意
>如果出现错误网络报错,再次尝试,多次尝试,直到更换WiFi~~~~

访问站点,部署成功!

地址为 https://用户名.github.io

image.png

此时可以算是在网络有了属于自己的域名了 😏


Hexo 部署至GithubPages
http://example.com/posts/5820ca7/
作者
帅蛋同学_
发布于
2023年12月10日 00:00
更新于
2023年12月10日 11:35
许可协议