首页 > 其他分享 >Hexo&github action持续部署

Hexo&github action持续部署

时间:2022-12-06 16:47:41浏览次数:69  
标签:github Hexo hexo 新建 博客 仓库 action

目的

  • 为了免除日常新建hexo new,hexo s,hexo g,hexo d等繁琐的书写部署流程指令,同时为了更加注重于博客内容本身而不是到新机器重新配置Hexo走一遍部署流程

持续集成 & 持续发布 & 持续部署

  • 举个例子,就像流水线都有固定装配步骤,从原材料持续生成成品进行交付。那也就是这个原理意思,当代码有修改则从源代码持续集成生成可发布版本,再持续部署到主干版本代码上
  • 有利于尽早发现集成错误,避免过大分支最后集成的困难

新建Hexo源码库

  • 在你本地博客根目录下新建一个.gitignore文件,内容如下:
    .deploy_git
    node_modules
    public
    
  • 到github上新建一个私有仓库,专门用来存放你的Hexo源码。注意不是通过hexo d部署后的代码,而是同过push远程仓库的本地目录源码,目前先不用push,建好仓库就行
    图1

部署私钥

  • 在Hexo私有源码库将git的私钥进行添加,作为DEPLOY_KEY。位置:Settings > Secrets
    图2

新建存放Hexo博客的公有库

  • 在github上新建一个公有仓库,用来存放你生成的Hexo博客,并使用github pages。具体做法在搭建hexo博客的过程会接触到,不细说。
    图3

新建hexo-deploy.xml

  • 在本地hexo博客根目录下的.github文件夹下新建workflows文件夹,新建hexo-deploy.xml文件。
  • 具体书写内容可参考 GitHub Action ~ Hexo Action
  • 我个人修改内容如下:
    ......
    # Deploy hexo blog website.
    - name: Deploy
        id: deploy
        uses: sma11black/hexo-action@v1.0.3
        with:
            deploy_key: ${{ secrets.DEPLOY_KEY }}
            PUBLISH_REPOSITORY: # Hexo公共仓库,格式:GitHub 用户名/仓库名
            BRANCH: # Hexo公共仓库分支,你生成博客存放的分支
            PUBLISH_DIR: ./public # 部署 public 目录下的生成博客文件,默认不用修改
    ......
    
  • 然后将你的hexo源码push到远程私有仓库上

发布文章

  • 在你博客本地目录下的source文件夹内的_posts文件夹下尽情书写博客吧
  • 写完博客通过关联远程Hexo私有源码库进行push,github action检测到分支变动会进行重新编译并重新部署public下博客内容到你的公有库
  • 当你换一台机器进行博客书写,只需要关联远程源码库进行pull下,就可以马上进行内容书写了

其他途径方式

  • Travis CI

标签:github,Hexo,hexo,新建,博客,仓库,action
From: https://www.cnblogs.com/lastkiss/p/16955696.html

相关文章

  • Hexo+NexT8.1+Waline踩坑记录
    说明:由于NexT8.1.0移除了对valine的内置支持,转而使用waline。在配置的过程中踩的一些坑。1.waline官方网址https://waline.js.org/2.注册LeanCloudLeanCloud地址:ht......
  • jsdelivr被墙,hexo-next切换为自定义CDN
    1.Next主题需要升级到8.9以上,我的是多少忘记了,最好升级到最新使用npm管理gitclonehttps://github.com/next-theme/hexo-theme-nextthemes/next2.替换链接官方......
  • bug处理:TransactionException: global rollback request failed. msg=Unknown column
    TransactionException:globalrollbackrequestfailed.msg=Unknowncolumn'status'in'fieldlist'说明此报错是在调试seata时所遇到,通过报错可知是数据库字段s......
  • spring控制事务回滚:TransactionAspectSupport.currentTransactionStatus().setRollbac
    spring事务控制手动回滚:TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();1、说明事务是我们开发过程中经常会使用到的,为了在业务执行过程中出......
  • @Transactional注解事务失效的几种场景及原因
    1.介紹在业务开发的许多场景中,我们会使用到通过事务去控制多个操作的一致性。比较多的就是通过声明式事务,即使用@Transactional注解修饰方法的形式。但在使用过程中,要......
  • 第1章 开始使用ASP.NET Core(ASP.NET Core in Action, 2nd Edition)
    选择用一个新的框架学习和开发是一项巨大的投资,因此尽早确定它是否适合你很重要。本章提供了一些有关ASP.NETCore的背景知识,如:它是什么,它是如何工作的,以及为什么您应该考......
  • Action过滤器重构
    (注:本文参照NickChapsas的Attributesgetafeaturelong-overdueinC#11)今天看一个泛型特性的例子,这个功能在C#11才受支持。在asp.netcoremvc中,可以给actio......
  • Action过滤器重构
    (注:本文参照NickChapsas的Attributesgetafeaturelong-overdueinC#11)今天看一个泛型特性的例子,这个功能在C#11才受支持。在asp.netcoremvc中,可以给actio......
  • Git 私人的git和公司邮箱的新git账号&迁移github账号权限
    场景1:私人的git和公司邮箱的新git账号 我的例子: 我的GTB配置的是私人账号git,我的mac电脑配置的git的邮箱是个人邮箱账号, TWU(甲方)需要你提供一个git账号的信息来......
  • hexo博客配置教程
    咱自己的博客配置教程喵~成品展示:沨鸾的小窝前期准备:本博客在linux环境下搭建,部分内容于windows下稍有不同。你需要:git,ssh,nodejs,npm,github-cli。你可能还需要:一个脑子......