首页 > 其他分享 >如何使用github actions 自动部署Hexo博客

如何使用github actions 自动部署Hexo博客

时间:2024-10-20 14:58:38浏览次数:7  
标签:github Hexo hexo 仓库 actions master pages

一、创建github仓库

创建两个github仓库,一个共有仓库和一个私有仓库。

  • 私有仓库用来存储Hexo项目源代码
    用master分支来存放项目源代码
  • 公有仓库用来存储编译之后的静态页面
    用gh-pages分支来存储静态页面

当私有仓库的master分支有内容push进来时,GitHub Actions 自动编译并且部署到公有仓库的gh-pages分支。

创建GitHub Token

创建一个有repo和workflow权限的GitHb Token

创建repository secret

步骤:私有仓库-> settings->Srcrets->New repository secrets。

新创建的secrets key在Actions配置文件要用到,因此变量名字要保持一致。

二、添加Actions配置文件

1.在你的hexo项目根目录下创建.github文件夹。
2.在.github文件夹下继续创建workflows文件夹。
2.在workflows文件夹下创建hexo-deploy.yml文件。

name: deploying Hexo project to GitHub pages
on:
  push:
    branches:
      - master # master 分支有 push 行为时就触发这个 action

jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
        with:
          fetch-depth: 0

      - name: Build and Deploy
        uses: theme-keep/hexo-deploy-github-pages-action@master # 使用专门部署 Hexo 到 GitHub pages 的 action
        env:
          PERSONAL_TOKEN: ${{ secrets.HEXO_DEPLOY }} # secret 名
          PUBLISH_REPOSITORY: XPoet/keep-blog # 公共仓库,格式:GitHub 用户名/仓库名
          BRANCH: gh-pages # 分支,填 gh-pages 就行
          PUBLISH_DIR: ./public # 部署 public 目录下的文件

三、触发自动部署流程

$ hexo init my-blog
$ cd my-blog
$ npm install
$ git init
$ git remote add origin 私有仓库的地址
$ hexo g
$ hexo s

git add .
git commit -m "deploy hexo source"
git push -u origin master

GitHub Actions 检测到 master 分支有内容 push 进来,会自动执行 action 配置文件的命令,将 Hexo 项目编译成静态页面,然后部署到公共仓库的 gh-pages 分支。
在私有仓库的Actions可以查看配置的action详细信息

标签:github,Hexo,hexo,仓库,actions,master,pages
From: https://www.cnblogs.com/win1998/p/18487321

相关文章

  • golang项目引用GitHub私有仓库module
    1.创建gomodule项目module的名字假设为go-testmodule项目创建成功后,将go.mod文件中的module"go-test"修改成module"github.com/tonglin0325/go-test"避免引用的时候goget的时候报错,如下gogetgithub.com/tonglin0325/go-test@latestgo:github.com/tonglin0325......
  • 从克隆项目到修改并上传到自己 GitHub 仓库的流程(包括私钥配置)
    从克隆项目到修改并上传到自己GitHub仓库的流程(包括私钥配置)生成SSH密钥如果还没有生成SSH密钥,可以通过以下命令生成:ssh-keygen-trsa-C"[email protected]"系统会提示你保存密钥的位置,通常保存在~/.ssh/id_rsa,如果不需要加密密码,直接按回车。添加SSH......
  • git与github的授权认证
    一、进行本地git信息配置gitconfig--globaluser.usernamexxxxxgitconfig--globaluser.emailxxxxx@[email protected]#本地生成私钥和密钥信息生成之后,会在本地的C:\Users\用户名/.ssh/id_rsa和C:\Users\用户名/.ssh/id_rsa.pub二、进......
  • 安装 Hexo
    安装Hexo相当简单,只需要先安装下列应用程序即可:https://hexo.io/zh-cn/docs/setupNode.js(Node.js版本需不低于10.13,建议使用Node.js12.0及以上版本)Git安装hexo$npmconfigsetregistryhttps://mirrors.huaweicloud.com/repository/npm/#修改成华为云镜像源$......
  • 彻底解决【“curl: (7) Failed to connect to raw.githubusercontent.com port 443: C
     用如下命令下载安装msf时,提示curl:(7)Failedtoconnecttoraw.githubusercontent.comport443:Connectionrefusedcurlhttps://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb>msfinsta......
  • 通过github创建自己网页链接的方法
    文章目录要使用GitHub创建静态网页链接,可以按照以下详细步骤进行操作:一、准备阶段二、创建仓库并配置三、准备并上传静态网站文件四、配置GitHubPages五、访问和更新你的静态网页要使用GitHub创建静态网页链接,可以按照以下详细步骤进行操作:一、准备阶段注册GitHu......
  • Tailwind CSS:最受欢迎的实用类CSS框架!Github Star达到了惊人的82.5K!
    在前端开发的世界中,随着项目的复杂性增加,如何高效管理样式,快速开发出响应式、美观的界面成为每个开发者关心的问题。TailwindCSS作为一个革命性的实用类(utility-first)CSS框架,以其灵活的样式管理方式赢得了广大开发者的青睐,目前是GitHub上Star数最多的CSS类框架,充分说明了......
  • github上最火的大模型教程-免费!
    大型语言模型(LLM)的课程路线图LLM课程分为三个部分:......
  • 博客搭建之路:hexo使用next主题新增RSS
    hexo使用next主题新增RSShexo版本5.0.2npm版本6.14.7next版本7.8.0如何让next主题支持RSS呢?看着好像官方没支持,自己加上吧在next下的_config.yml配置中新增sidebar_rss:text:RSSicon:fafa-rsscolor:burlywoodlink:atom.xml找到next/layout/_partials......
  • github pages + hugo 搭建静态博客网站
    体验地址1.起因,目的:其实6年前,我就写过这个。项目代码博客地址最近想改写一下。github推荐的主题是Jekyll,我当时用的就是这个,感觉很麻烦。尤其是文章命名。新的主题hugo用起来还行。2.过程:过程记录,需要详细!因为问题非常多!3.参考教程:视频教程:ht......