Hexo 部署 Github Pages, Github Actions自动部署

想整个静态的博客部署在github pages

历经两天的折磨终于是摸索成功了,官网的文档太简陋了,很多东西没说清楚。

欢迎大家访问我的博客!

CanyueThis is Canyue's blog.icon-default.png?t=N7T8https://mobeicanyue.github.io/

最终实现的效果,一个项目仓库,main 分支存放源代码,gh-pages 存放生成后的网页代码,github pages 加载gh-pages的网页代码。这样,每当我们push代码到main分支的时候,github action会自动构建并将代码发布到gh-pages

搭建环境:

linux plasma manjaro

nodejs 20

git 2.43

github 配置好ssh(可以参考我前面教程)

vscode

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


1. 新建 '用户名.github.io 仓库'

记住这串 .git 后面要用到

2.部署你的github ssh私钥到仓库变量

3.初始化hexo博客目录

注意目录要和github 项目同名 

把 mobeicanyue.github.io 换成你仓库的名字

hexo init mobeicanyue.github.io && cd mobeicanyue.github.io

4.初始化为git仓库并提交

git init

git add .
git commit -m "Initial commit"

这个 git@github.com:mobeicanyue/mobeicanyue.github.io.git 就是前面让你记住那一串

git remote add origin git@github.com:mobeicanyue/mobeicanyue.github.io.git

git push -u origin main 

这个时候我们刷新仓库可以看到代码确实上传上去了,但是第一次构建肯定是失败的(打叉),因为还没配置github action

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

记得点击 save 保存 !

6. 编写github actions 代码

修改这个文件的最后一行,repo改成你的仓库

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

下面配置改你的用户名和邮箱

name: Deploy Hexoon:push:branches:- mainjobs:build:runs-on: ubuntu-lateststeps:- name: Check Outuses: actions/checkout@v4- name: Setup Nodeuses: actions/setup-node@v4with:node-version: 20- name: Setup Gitrun: |git config --global user.name "用户名"git config --global user.email "邮箱"- name: Setup SSH Keyrun: |mkdir -p ~/.sshecho "${{ secrets.KEY }}" > ~/.ssh/id_ed25519chmod 600 ~/.ssh/id_ed25519- name: Install Dependenciesrun: |npm install -g hexo-clinpm install hexo-deployer-git --savenpm install- name: Deploy Hexorun: |hexo cleanhexo generatehexo deploy

最后提交并推送

7. 访问站点,部署成功!

就是你的仓库的名字

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/310437.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

R统计学1 - 基础操作入门问题1-20

R统计学入门基础问题 1. 如何生成100个高斯&#xff08;正态&#xff09;分布随机数 x <- rnorm(100, mean 5, sd 0.1) x # [1] 4.893534 5.046611 5.081097 4.979164 5.181700 5.038192 5.135376 5.173346 4.968877 4.986146 # [11] 4.946258 5.198199 5.055531 4.9430…

Linux 运维工具之1Panel

一、1Panel 简介 1Panel 是一个现代化、开源的 Linux 服务器运维管理面板。 特点&#xff1a; 快速建站&#xff1a;深度集成 Wordpress 和 Halo&#xff0c;域名绑定、SSL 证书配置等一键搞定&#xff1b;高效管理&#xff1a;通过 Web 端轻松管理 Linux 服务器&#xff0…

【Matlab】ELM极限学习机时序预测算法

资源下载&#xff1a; https://download.csdn.net/download/vvoennvv/88681649 一&#xff0c;概述 ELM&#xff08;Extreme Learning Machine&#xff09;是一种单层前馈神经网络结构&#xff0c;与传统神经网络不同的是&#xff0c;ELM的隐层神经元权重以及偏置都是随机产生的…

利用网络教育系统构建个性化学习平台

在现代教育中&#xff0c;网络教育系统作为一种创新的学习方式&#xff0c;为学生提供了更加个性化和灵活的学习体验。在本文中&#xff0c;我们将通过简单的技术代码&#xff0c;演示如何构建一个基础的网络教育系统&#xff0c;为学生提供个性化的学习路径和资源。 1. 环境…

迪杰斯特拉(Dijkstra)算法详解

【专栏】数据结构复习之路 这篇文章来自上述专栏中的一篇文章的节选&#xff1a; 【数据结构复习之路】图&#xff08;严蔚敏版&#xff09;两万余字&超详细讲解 想了解更多图论的知识&#xff0c;可以去看看本专栏 Dijkstra 算法讲解&#xff1a; 迪杰斯特拉算法(Di…

数据库开发之子查询案例的详细解析

1.5 案例 基于之前设计的多表案例的表结构&#xff0c;我们来完成今天的多表查询案例需求。 准备环境 将资料中准备好的多表查询的数据准备的SQL脚本导入数据库中。 分类表&#xff1a;category 菜品表&#xff1a;dish 套餐表&#xff1a;setmeal 套餐菜品关系表&#x…

【计算机网络】第五,六章摘要重点

1.运输层协议概述 运输层提供的是进程之间的通信 2. 3.套接字指的是什么 ip地址端口号 4.每一条TCP语句唯一地被通信两端连接的两个端点 5.TCP传输如何实现 以字节为单位的滑动窗口 超时重传 选择确认 6.TCP流量控制和拥塞控制的区别 流量控制&#xff1a;点对点通信…

SpringMVC学习与开发(四)

注&#xff1a;此为笔者学习狂神说SpringMVC的笔记&#xff0c;其中包含个人的笔记和理解&#xff0c;仅做学习笔记之用&#xff0c;更多详细资讯请出门左拐B站&#xff1a;狂神说!!! 11、Ajax初体验 1、伪造Ajax 结果&#xff1a;并未有xhr异步请求 <!DOCTYPE html> &…

vscode: make sure you configure your user.name and user.email in git

一、问题描述 使用VScode编辑代码后&#xff0c;Push到云端报错&#xff1a;Make sure you configure your "user.name" and "user.email" in git 二、解决方案 解决步骤&#xff1a; 1.打开Git Bash&#xff1a; 2.输入命令&#xff1a; git config -…

论文阅读——EfficientViT(cvpr2023)

EfficientViT: Memory Efficient Vision Transformer with Cascaded Group Attention 1、 从三个角度探讨如何提高vision transformers的效率&#xff1a;内存访问、计算冗余和参数使用。 2.1. Memory Efficiency 红色字体表示操作所花费的时间主要由内存访问决定&#xff0c;…

<JavaEE> 协议格式 -- 传输层协议 TCP

目录 一、TCP协议格式长啥样&#xff1f; 二、TCP协议属性解释 1&#xff09;源端口号/目的端口号 2&#xff09;序号/确认序号 3&#xff09;TCP报头长度 4&#xff09;保留位 5&#xff09;标志位 6&#xff09;窗口大小 7&#xff09;校验和 8&#xff09;紧急指针…