惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Hacker News - Newest:
Hacker News - Newest: "LLM"
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
L
LINUX DO - 最新话题
Cloudbric
Cloudbric
N
News and Events Feed by Topic
S
Secure Thoughts
Vercel News
Vercel News
S
Security @ Cisco Blogs
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
S
SegmentFault 最新的问题
Hacker News: Ask HN
Hacker News: Ask HN
博客园 - 聂微东
WordPress大学
WordPress大学
Google Online Security Blog
Google Online Security Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Google DeepMind News
Google DeepMind News
PCI Perspectives
PCI Perspectives
雷峰网
雷峰网
Hugging Face - Blog
Hugging Face - Blog
Blog — PlanetScale
Blog — PlanetScale
Apple Machine Learning Research
Apple Machine Learning Research
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Threat Research - Cisco Blogs
博客园 - 司徒正美
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
A
About on SuperTechFans
P
Proofpoint News Feed
大猫的无限游戏
大猫的无限游戏
V
V2EX
I
Intezer
H
Hacker News: Front Page
www.infosecurity-magazine.com
www.infosecurity-magazine.com
L
Lohrmann on Cybersecurity
F
Fortinet All Blogs
Schneier on Security
Schneier on Security
博客园 - 叶小钗
The Cloudflare Blog
月光博客
月光博客
W
WeLiveSecurity
T
Tenable Blog
P
Proofpoint News Feed
aimingoo的专栏
aimingoo的专栏
Help Net Security
Help Net Security
L
LangChain Blog
C
CERT Recently Published Vulnerability Notes
T
The Exploit Database - CXSecurity.com
美团技术团队
B
Blog

栖童の小站

中兴微ZX296716机顶盒TTL救砖全攻略 | 栖童の小站 闲鱼副业之行:在机顶盒救砖中,窥见人性的温差 | 栖童の小站 CMCC RAX3000QY路由器TTL刷机与OpenWrt解锁全记录 | 栖童の小站 晨星9385芯片设备免拆包自修改教程 | 栖童の小站 小众云服务商深度测评:小兔互联、初七云、星辰云对比 | 栖童の小站 我的2025:在破除幻象、划定边界与坚守内心的一年 | 栖童の小站 闲鱼求职骗局实录:我是如何识破假冒京东HR | 栖童の小站 “大仙”是如何操控你的:亲历东北出马仙骗局与背后的恐惧营销心理学 | 栖童の小站 一次网站性能翻车实录:滥用SWPP插件导致的用户体验灾难与修复 | 栖童の小站 未成年网络暴力观察:从劝诫到被“人肉”的反思 | 栖童の小站 卸任版主后的身份枷锁:虚拟社交中的友谊与边界 | 栖童の小站 Clarity主题深度定制指南 | 栖童の小站 从Hexo到Nuxt:我的小站重构与品牌升级之路 | 栖童の小站 在爱恨之间:我的人际关系修复与挣扎 | 栖童の小站 信仰的见证:当基督徒的行为违背圣经 | 栖童の小站 版主生涯的回忆:在deepin论坛的日子 | 栖童の小站 从耕种到秋收 | 栖童の小站 当田园牧歌遭遇田埂上的贪婪 | 栖童の小站 芜湖散记:江畔的温柔与遗憾 | 栖童の小站 零成本自建网站统计:在Vercel上部署Umami完全指南 | 栖童の小站 童年的两面:简单的快乐与沉重的烙印 | 栖童の小站 家庭阴影与校园霸凌的自愈 | 栖童の小站 公共澡堂体验:记录一次北方乡下的专业搓澡 | 栖童の小站 如何打造高效的团队 | 栖童の小站 Linux系统Git使用指南:从本地仓库创建到远程仓库推送 | 栖童の小站 Hexo Butterfly主题进阶美化:添加FPS显示、节日弹窗与评论提示 | 栖童の小站 Linux音频修复:解决前置耳机及麦克风插孔无声方案 | 栖童の小站 从零搭建Hexo静态博客:环境配置、主题安装到部署上线完全指南 | 栖童の小站 解决Debian包格式兼容:从zst到xz的手动转换与重打包教程 | 栖童の小站 Debian系统编译Linux内核deb包:从编译到打包安装全流程 | 栖童の小站 老爷机复活指南:Linux Mint Xfce 轻量系统安装与优化全流程 | 栖童の小站
告别手动编译:利用GitHub Actions自动化部署你的Hexo博客 | 栖童の小站
栖童, sweetcandymini@foxmail.com · 2024-01-22 · via 栖童の小站

本文手把手教你配置GitHub Actions,为你的Hexo博客实现自动化部署。从SSH密钥的生成与安全配置,到编写完整的工作流文件,让你只需推送Markdown文章,即可自动完成博客的编译与发布,彻底解放双手。

一、准备

首先电脑部署生成hexo博客,参考:

搭建Hexo博客及安装NPM环境指南

如何在系统上安装NPM(Node Package Manager),并使用Npm安装Hexo博客框架。

二、开始教程

前提

Node.js环境和Git都已安装且Hexo可以正常运行与部署。

注意文章里面的master是仓库分支名,根据自身情况修改main或其他分支名。

改根_config.yml 文件中的deploy为如下内容:

yml
deploy:
  type: git
  repo: git@github.com:用户名/Pages仓库名.git
  branch: master  

生成key,github部署时需要:

bash
ssh-keygen -t rsa -b 4096 -C "Hexo Deploy Key" -f github-deploy-key -N ""

会在当前目录生成:

github-deploy-key私钥

github-deploy-key.pub公钥

新建一个博客仓库存放Hexo源文件,把博客文件放到里面,之后设置博客代码仓库 Settingssecrets and variablesRepository secrets

名字填写:

HEXO_DEPLOY_KEY (大写)

后面Actions会用到不要写错哦!

填入 github-deploy-key(私钥)里面的内容。

公钥放到Pages对应的代码仓库里面。

访问Pages对应的代码仓库 Settings Deploy keysAdd deploy key

名字:HEXO_DEPLOY_PUB (可自定义)

Key 填入 github-deploy-key.pub(公钥)中的内容,别忘了Allow write access 勾上。

在博客代码仓库里点Actions

创建一个新文件:

yml
name: Hexo Deploy

on:

   workflow_dispatch:

    branches:

      - master

jobs:

  build:

    runs-on: ubuntu-latest

    if: github.event.repository.owner.id == github.event.sender.id

    steps:

      - name: Checkout source

        uses: actions/checkout@v4

        with:

          ref: master

      - name: Setup Node.js

        uses: actions/setup-node@v4

        with:

          node-version: '20'

      - name: Setup Hexo

        env:

          ACTION_DEPLOY_KEY: ${{ secrets.HEXO_DEPLOY_KEY }}

        run: |

          sudo timedatectl set-timezone 'Asia/Shanghai'

          mkdir -p ~/.ssh/

          echo "$ACTION_DEPLOY_KEY" > ~/.ssh/id_rsa

          chmod 700 ~/.ssh

          chmod 600 ~/.ssh/id_rsa

          ssh-keyscan github.com >> ~/.ssh/known_hosts

          git config --global user.email "改成你的邮箱"

          git config --global user.name "改成你的用户名"

          npm install hexo-cli -g

          npm install

      - name: Deploy

        run: |

          hexo clean

          hexo deploy
         

其中:node-version: '20',指nodejs版本。

master指分支,新建好的仓库改名为main

结尾:别忘了给主题目录里面的.git目录删除,防止Git推送失败。

Git上传博客源码到Github,参考

Linux使用Git命令远程上传

在Linux系统下使用Git进行远程上传的基本步骤和要点。

这么做以后只需要上传.md文件,再手动点击ActionsActions会自动生成public目录,并把里面的全部文件上传到Pages仓库),舒适。