首页 > 其他分享 >Hexo-Github Actions 自动部署方案

Hexo-Github Actions 自动部署方案

时间:2024-08-17 14:16:08浏览次数:5  
标签:Node 插件 Github Hexo Hugo Actions 版本

前阵子因为很久没有捡起来写博客,导致电脑的 node 环境各种版本问题,本地压根运行不起来,所以折腾了一下 Hugo 方案,感觉 Hugo 相较于 Hexo 还是有很多优势的,让我印象比较深的是:

  1. 整个环境较为独立,不再像 Hexo 需要依赖电脑 Node 版本,各种插件需要独立版本,随着 Hexo 或者 Node 版本升级还需要考虑插件版本问题,减少了很多折腾的工作。
    1. Hugo 搭建和配置非常简单, 202408171050885
    2. Hexo 的环境依赖:
      202408171049445
  2. 其次就是 Hugo 速度真的是非常快,比 Hexo 快非常多
  3. 然后就是直接配置 Github Action 就可以完成部署,不再需要像 Hexo 那样安装 git 部署插件,参考: 如何使用 Hexo 搭建个人博客 | samwei12's blog 这点感觉能节省很多时间,不再需要每次写完文章手动敲命令行部署。

不过后面折腾半天之后,觉得 Hugo 上确实找不到一款比较合心意的主题(可能是因为使用 Hugo 的大多是后端开发),另外就是需要把之前折腾的一堆插件,例如评论、时长统计、站点统计、RSS 等全部折腾一遍,想想这个工作就觉得有点过于浪费时间了,毕竟还是要以写作为主,不应该花费太多时间在折腾工具上。
刚好后面发现 GitHub 的部署居然会提示我插件版本升级,于是按照对应的插件版本提示,修复了版本冲突问题,节省了我大量的时间,很赞。

202408171101402

接下来就是思考 Hexo 是否也有类似的自动部署方案,因为我是 15 年开始使用 Hexo 的,当时 Github Action 还没有推出。
简单检索了一下,发现确实还真有,但找到几个现成的 Action 都无法使用,对应的 Node 版本已经过时,例如 Hexo GitHub Action · Actions · GitHub Marketplace

后来觉得这种没道理官方不出对应的方案,没必要找别人已经加工过的。于是搜到了 GitHub Pages | Hexo。发现官方文档写的更加完整,建议大家直接去网站上查看,这里只写一下自己在实际使用过程中可能会遇到的问题:

分支问题

这里官方给到的示例是直接使用 main 分支,包括 yaml 配置中使用的也是这个,但对于我目前的工程来说,并没有把 Markdown 文件跟生成的网页拆分成两个工程(理论上来说拆开比较合适,更加安全,可以把草稿文件等隐藏起来不对外公开),而是通过两个不同的 git 分支来进行分离,hexo 分支存放原始的 sources 文件,而 master 分支用来存放暴露的静态站点。所以这里花了一点时间来研究 Action 配置中的 git 分支应该填哪个。

name: Pages # 这里可以改成你自定义的Action名称

on:
push:
branches:
- hexo # 这里如果你像我一样拆分了两个不同分支,那么应该填你的 source 分支,对于我来说就是 hexo

版本问题

这个比较简单,确认你本地的Hexo和对应的Node版本,设置成一样的即可,确保不会出现插件跟Node版本不一致问题

- name: Use Node.js 18
        uses: actions/setup-node@v4
        with:
          # Examples: 20, 18.19, >=16.20.2, lts/Iron, lts/Hydrogen, *, latest, current, node
          # Ref: https://github.com/actions/setup-node#supported-version-syntax
          node-version: "18"

Github Page 设置

202408171146444

在 Github 中开启 Actions 即可。

总结

202408171148869

至此,基本上就完成了自动部署,之后只需要提交完 Markdown 之后完成推送,Actions 就会自动帮我们构建网站,不用手动敲命令行了。

这里还告诉我们一个道理,也是陈皓老师多次提到的,我们要尽可能的学习一手资料,而不是别人咀嚼过的,可以通过检索别人的文章博客来简单了解一下某个知识,但想要实际学习其中的细节或者遇到问题能够钻研解决,还是需要直接找官方文档或者论文,不然可能只能照抄别人的流程,中间遇到跟他不一样的环境、配置,就傻眼了。

标签:Node,插件,Github,Hexo,Hugo,Actions,版本
From: https://www.cnblogs.com/samwei12/p/18364330/hexogithub-actions-zi-dong-bu-shu-fang-an

相关文章

  • Hexo-常用插件&配置
    参考文档地址:Plugins,Hexo官方插件列表地址theme-next/awesome-next::sunglasses:ThemeNexT,AWESOMENexT!这里汇总一下自己比较常用的插件以及相关的配置,希望对你有所帮助。注意:我使用的是next主题,很多配置可能是主题专用!RSS安装hexo-generator-feed插件即可n......
  • 零成本 API 服务搭建,用 GitHub Actions 自动爬取文章?
    前言本着将成本降到最低,我目前做的应用或小程序都是单机的,也就是不用请求接口,只要一上架就没有任何支出。但是写死的数据毕竟有限,应用的内容单一无法紧跟时事热点,每次打开一个样,自然就没有留存。遇到有错字啥还要更新版本,那有没有方法既能丰富应用内容,又不用增加成本呢?既要又要,......
  • linux创建github仓库并用git上传本地仓库到github仓库
    1.创建github仓库(1)点击右上角的头像(2)点击Yourrepositories(3)点击New(4)填写好Owner和Repositoryname点击AddaREADMEfile选择license,再点击Createrepository2.用git上传本地仓库到github仓库git工作流:(1)点击Code再点击Local查看github仓库地址(2)将git......
  • 使用 Decap CMS 作为 Hexo 后端以实现在线编辑(保姆级教程)
    转自我的博客,本人博客体验效果更佳。Posts:使用DecapCMS作为Hexo后端以实现在线编辑(保姆级教程)前言静态网站建站成本低、安全、轻量,但最大的缺点就是没有后台,更新网站麻烦。DecapCMS就能解决这个问题本文将介绍DecapCMS,并详细讲解DecapCMS部署教程。让你......
  • 利用 Cloudflare workers 反代 github
    反代Github似乎会被认定为欺诈,严重的会封禁域名,不建议尝试首先绑定你的域名到cloudflare,然后创建一个Worker后写入以下代码并添加自定义域名//反代目标网站.constupstream='github.com';//反代目标网站的移动版.constupstream_mobile='github.com';//访问......
  • 把廉价香橙派利用到极致,跑自建 Gitea 和 Hexo 服务
    这篇文章在我的博客同步发布:把廉价香橙派利用到极致,跑自建Gitea和Hexo服务书接上回code-server搭建。code-server因为是原生服务,再加上这枚H618芯片性能相当可以,内存和CPU占用都很小,但是耗电却紧压电源适配器的15W极限,剩余的性能……浪费了?这怎么行?!经过苦思冥想,......
  • github 博客
    https://chirpy.cotes.page/posts/getting-started/#option-2-github-forksudoapt-getinstallruby-fullbuild-essentialzlib1g-devecho'#InstallRubyGemsto~/gems'>>~/.zshrcecho'exportGEM_HOME="\(HOME/gems"'>......
  • Ubuntu中编译使用ANTs(医学图像配准)含github无法访问问题解决
    目录第一步、修改hosts文件1.打开https://github.com.ipaddress.com/ 2.打开https://fastly.net.ipaddress.com/github.global.ssl.fastly.net#ipinfo3.打开hosts文件,并在文件末尾添加如下内容 第二步、编译ANTs1)首先安装git、cmake以及c++编译器2)编译3)配置bin目录,......
  • hexo搭建个人博客
    Tips:hexoGithubhexo使用文档(英文)hexo使用文档(中文)博客地址一、安装依赖包hexo需要依赖:nodejs、npm等依赖包,先下载:#更新apt源和升级本地软件包sudoaptupdatesudoaptupgrade#安装依赖包sudoaptinstallgitnet-toolsiputils-pingbuild-essentialsudoa......
  • 使用Github Action来拉取docker镜像
    前提只需一个github账号即可注意:免费版Action每天能使用1小时,每个月33小时(基本上够用)国内网络访问github网速并不稳定,但是用来应急还是可以的拉取逻辑GitHubAction来拉取和打包镜像从github上下载压缩包上传到自己的服务器上解压加载镜像到自己的服务器上这种......