当前位置: 首页 > news >正文

通过 GithubActions 实现自动化部署 Hexo

一、在自己电脑上新建一个文件夹,打开 git bash here,输入以下命令

# 生成秘钥
ssh-keygen -f github-deploy-key

之后会生成两个文件,

一个私钥文件为:github-deploy-key;

另一个公钥文件为:github-deploy-key.pub 

1、在 Hexo 工作目录 Github 源码仓库中指定私钥

步骤:依次打开自己存放博客源码的仓库,点击Settings->展开Secrets and variables->点击Actions->点击New repository secret;填写名称与粘贴私钥。

2、在 Hexo 站点目录 Github pages主页仓库中指定公钥

步骤:依次打开自己存放博客pages主页的仓库,点击Settings->Deploy keys->Add deploy key

Title处设置个名称,key处粘贴公钥。

注意事项:一定要勾选(Allow write access)允许写入后,再保存。

二、创建部署配置

1、在[自己博客根目录]新建.github文件夹,注意开头是有个.的。然后在.github 内新建 workflows 文件夹,再在 workflows 文件夹内新建 autodeploy.yml,在[自己博客根目录]/.github/workflows/autodeploy.yml 里面输入
name: 部署 Hexo 到 GithubPage
on:push:branches: [ "master" ]这里要更改为自己的源码仓库分支名称master或main
jobs:HexoDeploy:runs-on: ubuntu-lateststrategy:matrix:node-version: [18.x]这里要更改为自己电脑安装的node.js版本,在终端用node -v查找steps:- uses: actions/checkout@v3- name: 使用 Node.js ${{ matrix.node-version }} 环境uses: actions/setup-node@v3with:node-version: ${{ matrix.node-version }}- name: 配置 SSH 环境和 Git 环境env:ACTION_DEPLOY_KEY: ${{ secrets.这里要接合前面的内容更改为自己源码仓库填写私钥时,所取的名称 }}run: |mkdir -p ~/.ssh/echo "$ACTION_DEPLOY_KEY" > ~/.ssh/id_rsachmod 700 ~/.sshchmod 600 ~/.ssh/id_rsassh-keyscan github.com >> ~/.ssh/known_hostsgit config --global user.email "这里要填写自己github注册时所用的邮箱"git config --global user.name "这里要填写自己gitub的用户名"- name: 配置 Hexo 环境run: |export TZ='Asia/Shanghai'npm install hexo-cli -g- name: 下载 Npm 依赖run: |npm install- name: 部署博客run: |hexo d

初次提交:

git init #初始化
git remote add origin 这里接着填写自己github的SSH地址
git checkout -b main #main是项目分支名

--------------------------------------

非初次提交:


git add .
git commit -m "github action update"
git push origin main
 

http://www.lryc.cn/news/305302.html

相关文章:

  • 如何快速导出vercel project中的环境变量
  • Java-8函数式编程设计-Functional-Interface
  • Linux TCP 参数设置
  • Dubbo之消费端服务RPC调用
  • 报表控件Stimulsoft 新版本2024.1中,功能区工具栏新功能
  • 零样本带解释性的医学大模型
  • 英文输入法(C 语言)
  • 万众一心 · 喜赢未来,2023宇凡微年会暨阳朔之旅
  • 【Spring】 AOP面向切面编程
  • R语言入门笔记2.6
  • PS人像处理磨皮插件
  • 类型转换(C++)
  • 2.23数据结构
  • c++笔记理解
  • 二进制部署k8s集群之cni网络插件
  • 二维矩阵子集的最大值
  • 瑞_23种设计模式_装饰者模式
  • 使用Python制作进度条有多少种方法?看这一篇文章就够了!
  • SpringBoot-2.7.6基于SLF4J日志门面的日志框架切换
  • MongoDB聚合运算符:$binarySize
  • Android的ViewModel
  • Android 圆环带刻度条进度动画效果实现
  • 94. 二叉树的中序遍历
  • 汽车信息安全概述
  • Linux——基础IO
  • 数据结构-数组
  • 【Java程序设计】【C00279】基于Springboot的智慧外贸平台(有论文)
  • C#,计算几何,计算机图形学(Computer Graphics)洪水填充算法(Flood Fill Algorithm)与源代码
  • C# 实现网页内容保存为图片并生成压缩包
  • C#_事件简述