Hexo&github 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
posted @ 2022-12-06 16:32  邪妖怪  阅读(161)  评论(0编辑  收藏  举报