Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Github Actions自动化部署 hexo博客

Github Actions自动化部署 hexo博客

作者头像
leader755
发布于 2022-03-09 06:37:41
发布于 2022-03-09 06:37:41
95900
代码可运行
举报
运行总次数:0
代码可运行

1.背景

利用 GitHub Actions 实现博客自动发布,将静态博客页面部署到多个服务器上,比如 GitHub Pages、Gitee pages 、云服务器上。本文介绍使用 GitHub Actions 实现将 Hexo 博客自动编译并发布到 GitHub Pages 上。

2.生成 SSH 秘钥

生成秘钥用于仓库间的推送:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ssh-keygen -f hexo-deploy-key -t rsa -C "1181012791@qq.com"

一直回车,以上命令会在当前路径下生成公钥和私钥并且命名为 hexo-deploy-key:秘钥 hexo-deploy-key 和公钥 hexo-deploy-key.pub

3.准备 2 个 github 仓库

博客源文件库:https://github.com/Leader755/blog-master.git 页面文件仓库:https://github.com/Leader755/leader755.github.io.git

4.为 github 仓库配置秘钥

目的:源码仓库代码推送到 githubPage 仓库

  • 页面文件仓库(即 leader755.github.io):
    • **Settings > Deploy keys** 中添加 Deploy key,内容为 **hexo-deploy-key.pub** 文件内容,同时勾选 **Allow write access** 选项。
  • 博客源文件库:
    • **Settings > Secrets** 中添加一个 Secret,名称为 **DEPLOY_KEY**,内容为 **hexo-deploy-key** 文件内容。后续在 Workflow 中通过名称 DEPLOY_KEY 使用这个密钥。

5.Workflow 配置

在博客源文件库中新建文件 .github/workflows/deploy.yml,配置内容如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# workflow name
name: actions single

# 当有 push 到仓库和外部触发的时候就运行
on: [push, repository_dispatch]

# YQ_TOKEN
# YUQUE_GIT_HEXO
jobs:
  deploy:
    name: Deploy Hexo Public To Pages
    runs-on: ubuntu-latest
    env:
      TZ: Asia/Shanghai

    steps:
      # check it to your workflow can access it
      # from: https://github.com/actions/checkout
      - name: Checkout Repository master branch
        uses: actions/checkout@master

      # from: https://github.com/actions/setup-node
      - name: Setup Node.js 10.x
        uses: actions/setup-node@master
        with:
          node-version: "10.x"

      #安装依赖(包含yuque-hexo,此处无需安装) from https://github.com/x-cold/yuque-hexo
      - name: Install dependencies
        run: |
          npm install hexo-cli -g
          npm install yuque-hexo -g
          npm install

      # 此处请勿使用hexo clean&&yuque-hexo(重新构建时无需此命令行)同步语雀文章
      - name: yuque-hexo sync
        env:
          YUQUE_TOKEN: ${{ secrets.YUQUE_TOKEN_HEXO_SYNC_GITHUB_ONLINE}} # from: 这里是YUQUE_TOKEN: $不能随意改
        run: |
          hexo clean
          yuque-hexo sync || yuque-hexo sync || yuque-hexo sync  # 用 || 来重试的次数

      # 生成可访问的文档
      - name: hexo generate
        run: |
          hexo g

      # 生成pages且推送到文件仓库 from https://github.com/peaceiris/actions-gh-pages
      - name: Deploy hexo to Github pages
        uses: peaceiris/actions-gh-pages@v3
        with:
          deploy_key: ${{ secrets.YUQUE_GIT_HEXO }} # 此处为 hexo-deploy-key
          external_repository: Leader755/leader755.github.io
          publish_branch: master
          publish_dir: ./public
          commit_message: deploy githubPage
          # commit_message: ${{ github.event.head_commit.message }}

6.效果

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-09-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
HEXO系列教程 | 使用GitHub Actions部署Hexo / GitHub Pages | 全流程详细介绍
夜梦敢说这篇文章和HEXO系列教程 | 使用GitHub部署静态博客HEXO | 小白向教程是全网最详细的Hexo部署教程之二了!如果遇到问题你可以通过邮箱联系夜梦,夜梦看到了就会回复的!当然,再详细的文章也可能有错误,大家如果发现文章有问题的话请联系夜梦哦!
夜梦星尘
2024/08/20
4090
HEXO系列教程 | 使用GitHub Actions部署Hexo / GitHub Pages | 全流程详细介绍
一篇教你代码同步 Github 和 Gitee
用 VuePress 搭建了博客并部署到 Github Pages,但由于 Github 的访问问题,我们可以选择把仓库部署到 Gitee 一份,利用 Gitee 的 Pages 服务再生成一份静态网站用于备用。
程序狗
2021/12/27
1.4K0
[原创]VuePress教程之部署到Github Action
最近geekzl打算尝试一下VuePress,据说如果用来做文档体验会很不错,外观和Gitbook有点相似,好处是代码层面具有较大的自由度,也可以顺便加强vue的学习。
极客中心
2021/01/21
2.9K0
[原创]VuePress教程之部署到Github Action
Github Actions自动化部署 hexo博客
利用 GitHub Actions 实现博客自动发布,将静态博客页面部署到多个服务器上,比如 GitHub Pages、Gitee pages 、云服务器上。本文介绍使用 GitHub Actions 实现将 Hexo 博客自动编译并发布到 GitHub Pages 上。
leader755
2022/03/09
9590
Github Actions自动化部署 hexo博客
GitHub Actions入门教程:自动化部署静态博客
前天,我使用 GitHub Actions 实现了静态博客的自动化部署,觉得它非常强大,只要你提交到 GitHub,后面的部署完全由 GitHub 自动完成。
somenzz
2021/02/08
1.7K0
你可能不知道的15个有用的Github功能
我们平时的工作中,github是必不可少的代码托管平台,但是大多数同学也只是把它做为了托管代码的地方,并没有合理的去运用。
前端森林
2020/06/22
1.1K0
5 分钟玩转史上最强大的自动发布工具 GitHub Actions
GitHub Actions 是 GitHub 的持续集成服务,于 2018 年 10 月推出。
iMike
2019/09/16
1.5K0
Deploy Using Travis-CI And Github Webhook — webpack doc as an example
本文讲述了一位朋友与作者一起为 Webpack 插件开发制作一个自动部署工具,利用 Travis CI 和 GitHub Webhook 实现自动构建和部署,并分享了整个实现过程。
李成熙heyli
2018/01/05
1K0
Deploy Using Travis-CI And Github Webhook — webpack doc as an example
Hexo+GitHub搭建个人博客,实现云端编辑、一键发文
一般来说第一步环境搭建只需要在最开始创建博客网站的时候进行,写文的话只需要重复第2-7步就可以了,这种使用方式强烈依赖于本地环境。但是,有时候我们并不只是固定在一台电脑上写文,(比如:一直写文的电脑坏了,需要换新电脑;电脑重装系统等等)这样就需要在另一台电脑上搭建环境,这样非常的麻烦,而且难免会带来一些其它依赖版本兼容问题。所以,可以采用GitHub Actions持续集成平台来简化发布文章的流程。
甜点cc
2022/09/23
1.2K0
Hexo+GitHub搭建个人博客,实现云端编辑、一键发文
使用Github Action自动化部署
如果有写过项目的经历,就免不了将代码上传到服务器上,安装依赖,然后输入启动命令的步骤。但是有的项目往往需要经常性的改动,如果还是照着上面的方式进行部署的话。先不说这样操作的效率,操作个几次就想罢工了。并且上面这样操作的往往容易误操作。而 Github Actions 正是该问题的良药。
愧怍
2022/12/27
1.8K0
使用Github Action自动化部署
从零开始:VuePress2 + GitHub Pages 搭建你的第一个免费博客网站
可能你也想拥有一个属于自己的博客网站,但是自己搭个博客网站不知道从何下手,而且还需要租个云服务器,虽然一个月只需几十块钱,但是我们的博客网站是要长期维护的,日积月累也要不少钱呢。
zhanyd
2023/12/15
5520
从零开始:VuePress2 + GitHub Pages 搭建你的第一个免费博客网站
使用vuepress+github page搭建网络收藏夹
在开发学习过程中总会遇到各种各样的问题,当时解决之后,如果没能做好笔记,过一段时间之后很容易遗忘。养成了做笔记的习惯之后,就期望有一个很好的平台来保存笔记。我尝试过博客园,有道云笔记,象印笔记,语雀笔记等。有的平台确实比较好用,但是每次写笔记要么在浏览器中找网址,要么在电脑里找软件,等待打开,无形中增加了自己做这件事的时间成本。有的时候可能只是需要记录一句话。最终我选择了Typora。简介。方便。下一步就是解决多平台同步的问题,github page是一个很好的选择。搭配vuepress做成可以在线阅读的笔记本。
codeniu
2022/02/25
7370
使用vuepress+github page搭建网络收藏夹
五步轻松搞定,将博客自动部署到服务器
这篇文章主要是完善上篇文章部署服务器的部分,由于最近刚买了服务器,所以才有了今天的内容。废话不多说,下面是正文。
萌萌哒草头将军
2025/02/19
820
五步轻松搞定,将博客自动部署到服务器
【Hexo】使用Hexo+github pages+travis ci 实现自动化部署
本系列文章将会详细说明使用 Hexo + github pages 来搭建个人博客,并对主题进行配置,然后使用 travis ci 来进行自动化部署的全过程。
弗兰克的猫
2020/05/09
8210
【Hexo】使用Hexo+github pages+travis ci 实现自动化部署
GitHub Actions 自动构建Hexo 并发布到 gh-pages
当文章较多时,Hexo生成较慢,比较耗时,而且还需要 手动发布到 gh-pages,过程比较繁琐,而 GitHub Actions 作为 GitHub推出的免费CI/CD服务,正好可以用来解决这一问题,我们只需将源代码推送到GitHub,由Action自动帮我们构建Hexo,并完成发布到 GitHub Pages,不仅可用于博客,也可用于自动发布在线文档。
yiyun
2022/04/01
1.3K0
GitHub Actions 自动构建Hexo 并发布到 gh-pages
hexo-CI自动部署
​ hexo博客项目已经构建有好一段时间了,一般都是直接通过指令进行发布,为了适配在不同地方编辑笔记快速直接发布可采用CI的方式进行自动部署,此处介绍的是通过GitHab Actions+Github Pages的方式进行发布(分仓库存储:用于区分版本源文件管理&网站发布版本管理),随后则可直接通过typora编辑md文件并上传到指定仓库路径,自动部署网站内容
hahah
2022/06/15
4080
利用GitHub 的Actions自动同步gitee仓库,并Gitee Pages 自动部署项目
GitHub 的Actions会处理.github下的工作流文件夹workflows。 只要在g项目根目录下创建 .github/workflows/ ,在这个文件夹里再创建Sync.yml文件,填入以下代码。 当产生push操作就会自动同步gitee
鳄鱼儿
2024/05/21
1300
记录一次Hexo持续集成部署尝试
鉴于已经实现了Coding与Github的双部署,而目前使用了GitHub的actions作为主要的生成Hexo页面的环境,但是由于私有仓库使用时间收到了限制。因此考虑将token方式转换为ssh方式。
Dreamy.TZK
2020/06/28
8180
博客自动化部署
是啊,为什么要写 Blog?毕竟这里没有人支付稿酬,也看不出有任何明显的物质性收益。 不管你选择那种博客,这本身也是一个学习过程。 ——​ 阮一峰
leader755
2022/03/09
5230
博客自动化部署
使用github-action推送博客部署仓库至NPM
自从2021年12月20日,jsdelivr因为“某些原因”,在大陆和台湾的ICP证书被吊销。可以说,这让国内的开发生态瞬间天塌一般。目前,虽然jsdelivr已经恢复了服务,但是这只是通过在“中国附件”的节点提供的CDN加速服务,速度上还不如放到本地。这种反向加速的CDN服务,我们已经可以认为jsdelivr已经挂了。
Akilar
2022/01/20
5750
使用github-action推送博客部署仓库至NPM
推荐阅读
相关推荐
HEXO系列教程 | 使用GitHub Actions部署Hexo / GitHub Pages | 全流程详细介绍
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验