首页 > 其他分享 >给Hexo博客安排上Github Action自动化部署

给Hexo博客安排上Github Action自动化部署

时间:2024-08-30 14:03:33浏览次数:10  
标签:Github Hexo hexo 仓库 github master Action name

我不是换hexo了吗,一直是使用Spck Editor写文章,每次写好文章都要push一次,非常麻烦,最近在群友那了解到有Github Action自动化部署,可以写好文章自动部署到github pages,而且github的编辑器也是非常好用的,写好提交就能自动发送,–怎么有点像SSR了–,于是我就开始了这一个半小时的折腾…
没有电脑,使用安卓设备折腾!

如果你没有Hexo博客,那么请看这里,如果有那就请跳过本节

新建一个Hexo博客,这里使用ZeroTermux操作。
打开ZeroTermux,运行:

pkg install nodejs

安装完成之后使用

node -v
npm -v

结果如下或类似即可:
20240824095205-b5fa9b10afd7c8f8b75e3b591fb9466a.png

安装并初始化一个博客

npm install hexo-cli

等待时间可能久一点。

然后

hexo init

就行了,然后把hexo的目录移动到外部储存的目录,就行了

新建一个仓库

去github上新建一个仓库,我这里名字就叫MyHexo,可以随便,要设置成私有仓库。
20240824093520-af2a6043cdd4aa188db1fa85acd7df60.png

创建好仓库之后,在本地新建一个文件夹,我这里是手机,使用Spck Editor操作,打开MT管理器,先进入/storage/emulated/0/Android/data/io.spck/files/文件夹,新建一个叫MyHexo的文件夹。
2024082409418-6feeea513845cb134bd54180aaf00770.png

此时,进入你之hexo的目录,或者新建一个hexo博客(待会会讲),把右边窗口圈住的文件/文件夹移动(或者复制)到左边的文件夹,注意!是右边圈出的这些文件!

然后打开spck editor,刚刚的文件夹名称就是项目名称,按照图片操作
20240824101358-05e40c950674e974dec0198df7ee3b6c.jpg

点击版本库图标,初始化版本库
20240824101358-d552dcd5b0fe6b3c48c8eb20a6b97d82.png

点击添加远端
20240824101358-af6d3c2723c8d269b8d8d20ee454117a.png

添加远端
20240824101358-317991a3189a3c12f8a5463507a69f42.png

去github那边申请一个key,链接https://github.com/settings/tokens
20240824102300-8fa208fb0f38d88a625f5d926c79f9a6.jpg
注意!密钥只会显示一遍,记得复制粘贴!

申请好之后,去spck那边配置。
20240824102530-38e274178553600bcdb0e110d18b214f.jpg

把文件提交,然后推送。
20240824101358-24d9eda0acb925742c84a65655f5de41.png

推送完成之后就该配置Github Action了(此处折腾的时候忘记截图了。

简单说,就是把hexo博客编译前的源代码上传到github代码仓库,Action在代码发生变动的时候,自动通过安装一系列nodejs环境和相关依赖,编译生成html页面到github pages仓库。再简单点说,就是把本地生成博客的工作,全部交给Action执行。好处就是随时随地都能修改或增加博文
——来自https://isedu.top/

打开刚刚新建的仓库的Settings-> Secrets and variables -> Actions -> New repository secret,

需要添加三次,分别是GITHUBTOKEN,GITHUBUSERNAME和GITHUBEMAIL

变量名 常量释义
GITHUBMAIL Github 用户邮箱地址
GITHUBTOKEN Github token
GITHUBUSERNAME Github 用户名

添加好之后,去Actions-> set up a workflow yourself设置动作流。

复制粘贴如下代码:

name: 自动部署

on:
  push:
    branches:
      - master

  release:
    types:
      - published

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
    - name: 检查分支
      uses: actions/checkout@v2
      with:
        ref: master

    - name: 安装 Node
      uses: actions/setup-node@v1
      with:
        node-version: "16.x"

    - name: 安装 Hexo
      run: |
        export TZ='Asia/Shanghai'
        npm install hexo-cli -g

    - name: 缓存 Hexo
      uses: actions/cache@v1
      id: cache
      with:
        path: node_modules
        key: ${{runner.OS}}-${{hashFiles('**/package-lock.json')}}

    - name: 安装依赖
      if: steps.cache.outputs.cache-hit != 'true'
      run: |
        npm install --save

    - name: 生成静态文件
      run: |
        hexo clean
        hexo generate

    - name: 部署 #此处master:master 指从本地的master分支提交到远程仓库的master分支(不是博客的分支写master即可),若远程仓库没有对应分支则新建一个。如有其他需要,可以根据自己的需求更改。
      run: |
        cd ./public
        git init
        git config --global user.name '${{ secrets.GITHUBUSERNAME }}'
        git config --global user.email '${{ secrets.GITHUBEMAIL }}'
        git add .
        git commit -m "${{ github.event.head_commit.message }} $(date +"%Z %Y-%m-%d %A %H:%M:%S") Updated By Github Actions"
        git push --force --quiet "https://${{ secrets.GITHUBUSERNAME }}:${{ secrets.GITHUBTOKEN }}@github.com/${{ secrets.GITHUBUSERNAME }}/${{ secrets.GITHUBUSERNAME }}.github.io.git" master:master  # GitHub配置

如果你的本地仓库为main而不是master,那么这样改:
20240824133621-9879f6a269051e99ae8aa745bcc9d08b.png
20240824133621-23752fa10ef102867878ee95dcf6b801.png
20240824133621-c9e45e08cbae7957c57605535d133869.png

稍作修改之后点击Commit changes...

去你的github pages仓库把pages仓库改成你在上面代码设置的就行了

标签:Github,Hexo,hexo,仓库,github,master,Action,name
From: https://www.cnblogs.com/MengZe2/p/18388657

相关文章

  • 工作 6 年,@Transactional 注解用的一塌糊涂
    接手新项目一言难尽,别的不说单单就一个@Transactional注解用的一塌糊涂,五花八门的用法,很大部分还失效无法回滚。有意识的在涉及事务相关方法上加@Transactional注解,是个好习惯。不过,很多同学只是下意识地添加这个注解,一旦功能正常运行,很少有人会深入验证异常情况下事务是否能正确......
  • 工作 6 年,@Transactional 注解用的一塌糊涂
    接手新项目一言难尽,别的不说单单就一个@Transactional注解用的一塌糊涂,五花八门的用法,很大部分还失效无法回滚。有意识的在涉及事务相关方法上加@Transactional注解,是个好习惯。不过,很多同学只是下意识地添加这个注解,一旦功能正常运行,很少有人会深入验证异常情况下事务是否能......
  • 【愚公系列】《AIGC辅助软件开发》002-AI智能化编程助手:GitHub Copilot
    ......
  • 【愚公系列】《AIGC辅助软件开发》002-AI智能化编程助手:GitHub Copilot
    ......
  • 安卓11报错:Failed to resolve: com.github.xxxx:14.0 Show in Project Structure dial
    本篇文章主要讲解,安卓11版本情况下项目运行报错Failedtoresolve:com.github.getActivity:Toaster:14.0ShowinProjectStructuredialogAffectedModules:app的主要原因及解决办法。作者:任聪聪独立博客:https://rccblogs.com/631.html日期:2024年8月28日具体......
  • 《HelloGitHub》第 101 期
    兴趣是最好的老师,HelloGitHub让你对编程感兴趣!简介HelloGitHub分享GitHub上有趣、入门级的开源项目。github.com/521xueweihan/HelloGitHub这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言Python、Java、Go、C/C++、Swift...让你在短......
  • 纪念第一次在 Github 上提 ISSUE 得到了老哥的回复
    背景第一次在GitHub上提ISSUE,提问的内容就是我的上一篇博文rustlingsv6.0运行时出现“YouaretryingtorunRustlingsusingtheoldmethodbeforeversion6”,当时搞了好长时间都没思绪,然后就抱着试一试的心态在上面提了一个ISSUE。提问之后,又慢慢理了一下思路,终于......
  • 利用Hexo和Github Pages搭建自己的博客(1)
    前言本文章会同步发表到博主自己的博客,所以如果在博主自己的博客里发现这个文章,请不要惊讶1.准备工具一台Windows7以上的电脑Node.js(建议lts版本)GitHexo一个Github账号和邮箱代码编辑器(强烈建议vscode)一个名字为:username(这里为你的GitHub名称).github.io的仓库2.安装No......
  • Rust‘s “zero-cost abstraction“
    Rust's"zero-costabstraction"Iteratorsvs.ForLoopsGenericsandMonomorphizationTrait-basedAbstractionClosuresvs.FunctionPointersEnumsandPatternMatchingSmartPointers(e.g.,Box,Rc,Arc)OwnershipandBorrowingStaticDispatchvs.......
  • 自动化开发流程:使用 GitHub Actions 进行 CI/CD
    在现代软件开发过程中,持续集成(ContinuousIntegration,CI)和持续部署(ContinuousDeployment,CD)是确保高质量软件交付的关键组成部分。GitHubActions提供了一种简便的方式来实现CI/CD流程的自动化。本文将介绍如何设置和使用GitHubActions来自动化你的项目部署流程。......