通过 GithubActions 实现自动化部署 Hexo

一、在自己电脑上新建一个文件夹,打开 git bash here,输入以下命令

# 生成秘钥
ssh-keygen -f github-deploy-key

之后会生成两个文件,

一个私钥文件为:github-deploy-key;

另一个公钥文件为:github-deploy-key.pub 

1、在 Hexo 工作目录 Github 源码仓库中指定私钥

步骤:依次打开自己存放博客源码的仓库,点击Settings->展开Secrets and variables->点击Actions->点击New repository secret;填写名称与粘贴私钥。

2、在 Hexo 站点目录 Github pages主页仓库中指定公钥

步骤:依次打开自己存放博客pages主页的仓库,点击Settings->Deploy keys->Add deploy key

Title处设置个名称,key处粘贴公钥。

注意事项:一定要勾选(Allow write access)允许写入后,再保存。

二、创建部署配置

1、在[自己博客根目录]新建.github文件夹,注意开头是有个.的。然后在.github 内新建 workflows 文件夹,再在 workflows 文件夹内新建 autodeploy.yml,在[自己博客根目录]/.github/workflows/autodeploy.yml 里面输入
name: 部署 Hexo 到 GithubPage
on:push:branches: [ "master" ]这里要更改为自己的源码仓库分支名称master或main
jobs:HexoDeploy:runs-on: ubuntu-lateststrategy:matrix:node-version: [18.x]这里要更改为自己电脑安装的node.js版本,在终端用node -v查找steps:- uses: actions/checkout@v3- name: 使用 Node.js ${{ matrix.node-version }} 环境uses: actions/setup-node@v3with:node-version: ${{ matrix.node-version }}- name: 配置 SSH 环境和 Git 环境env:ACTION_DEPLOY_KEY: ${{ secrets.这里要接合前面的内容更改为自己源码仓库填写私钥时,所取的名称 }}run: |mkdir -p ~/.ssh/echo "$ACTION_DEPLOY_KEY" > ~/.ssh/id_rsachmod 700 ~/.sshchmod 600 ~/.ssh/id_rsassh-keyscan github.com >> ~/.ssh/known_hostsgit config --global user.email "这里要填写自己github注册时所用的邮箱"git config --global user.name "这里要填写自己gitub的用户名"- name: 配置 Hexo 环境run: |export TZ='Asia/Shanghai'npm install hexo-cli -g- name: 下载 Npm 依赖run: |npm install- name: 部署博客run: |hexo d

初次提交:

git init #初始化
git remote add origin 这里接着填写自己github的SSH地址
git checkout -b main #main是项目分支名

--------------------------------------

非初次提交:


git add .
git commit -m "github action update"
git push origin main
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/692782.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【leetcode热题】有序链表转换二叉搜索树

难度: 中等通过率: 38.7%题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 题目描述 给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。 本题中,…

代码随想录算法训练营day37| 738. 单调递增的数字、968. 监控二叉树、贪心算法总结

738、单调递增的数字: class Solution(object):def monotoneIncreasingDigits(self, n):""":type n: int:rtype: int"""if n 0:return 0nums [int(i) for i in str(n)]flag len(nums)for i in range(len(nums)-1, 0, -1):if nums…

机器学习基础(三)监督学习的进阶探索

导语:上一节我们深入地探讨监督学习和非监督学习的知识,重点关注它们的理论基础、常用算法及实际应用场景,详情可见: 机器学习基础(二)监督与非监督学习-CSDN博客文章浏览阅读769次,点赞15次&a…

strings.xml补充知识

复数名词 <plurals name"book"><item name"one">book</item><item name"others">books</item> </plurals>int bookCount 4; Resources res getResources(); String bookCount res.getQuantityString(R.…

Less基本语法

Less基本语法 编写的Less文件需要通过编译器转换为常规css后&#xff0c;才能被浏览器识别和应用。 变量 (Variables)&#xff1a;在 Less 中&#xff0c;可以定义变量并将其用于整个样式表中&#xff0c;减少重复输入和提高一致性。 primary-color: #007bff; body {backgro…

webpack打包速度优化思维导图

webpack打包速度优化思维导图 前言附件 前言 去年的时候公司一个项目体积过大&#xff0c;我是m1芯片的macpro&#xff0c;光启动就要1分钟&#xff0c;配置差点都电脑&#xff0c;启动就要3分钟&#xff0c;自然打包速度也会慢很多&#xff0c;我们是gitlab设置成了自动打包的…

phar反序列化原理及利用

phar是什么&#xff1f; phar 是 PHP 的一种归档文件格式&#xff0c;类似于 ZIP 或 TAR 文件&#xff0c;它可以包含多个文件和目录&#xff0c;并且可以像访问普通文件系统一样在 PHP 中进行访问。在php 5.3 或更高版本中默认开启 在php.ini中配置如下时&#xff0c;才能生成…

Latent Diffusion Models / Stable Diffusion(LDM)

High-Resolution Image Synthesis with Latent Diffusion Models&#xff08;CVPR 2022&#xff09;https://arxiv.org/abs/2112.10752latent-diffusionstable-diffusion cross-attention&#xff08;用于多模态任务&#xff09; Cross-attention vs Self-attention&#xff…

iOS整理 - 关于直播 - 搭建服务端

前言 其实本人一直都想自己简单做一套直播&#xff08;包括移动端和服务端&#xff09;的开发测试&#xff0c;但是之前一直做得比较迷茫。最近偶然间在来了灵感&#xff0c;瞬间解除了我很多疑惑。我会分享出来&#xff0c;希望大家一起研究下。稍后&#xff0c;我完整做好了…

《Solidity 简易速速上手小册》第10章:区块链项目实战(2024 最新版)

文章目录 10.1 分析真实的 Solidity 项目10.1.1 基础知识解析进一步的知识探索实际操作技巧 10.1.2 重点案例&#xff1a;去中心化预测市场案例 Demo&#xff1a;创建去中心化预测市场案例代码PredictionMarket.sol - 智能合约前端界面 测试和验证拓展功能 10.1.3 拓展案例 1&a…

Xilinx(AMD) 7系列FPGA——主BPI配置模式

目录 1 Master BPI配置信号2 BPI配置接口图1 Master BPI配置信号 主BPI配置模式用于对启动加载时间有要求的情况下使用,因为BPI模式为并行加载,加载时间较短,适用于需要快速加载的场景;主BPI模式,M[2:0] = 3’b010。主BPI模式进行读写操作时,分为同步与异步两种,对于同…

Leetcode 1089.复写零

目录 题目 思路 代码 题目 给你一个长度固定的整数数组 arr &#xff0c;请你将该数组中出现的每个零都复写一遍&#xff0c;并将其余的元素向右平移。 注意&#xff1a;请不要在超过该数组长度的位置写入元素。请对输入的数组 就地 进行上述修改&#xff0c;不要从函数返回…

ETL、ELT区别以及如何正确运用

一、 浅谈ETL、ELT ETL与ELT的概念 ETL (Extract, Transform, Load) 是一种数据集成过程&#xff0c;通常用于将数据从一个或多个源系统抽取出来&#xff0c;经过清洗、转换等处理后&#xff0c;加载到目标数据存储中。这种方法适用于需要对数据进行加工和整合后再加载到目标…

指定截至频率的低通滤波器设计

模拟滤波器 一阶 H ( s ) 1 a ⋅ s 1 H(s) \frac{1}{a \cdot s 1} H(s)a⋅s11​ 其中 a 1 ω c a \frac{1}{\omega_c} aωc​1​&#xff0c; ω c \omega_c ωc​ 是截至频率&#xff08;-3dB处的频率&#xff09;。该滤波器的相位范围为 (0, - π 2 \frac{\pi}{2} 2π…

MySQL 锁的内存结构

目录 1.摘要 2. 加锁的本质 3. 锁结构详解 3.1 锁所在的事务信息 3.2 索引信息 3.3 表锁/行锁信息 3.4 type_mode 3.5 其他信息 3.6 一堆比特位 1.摘要 在 MySQL 中&#xff0c;有很多种锁&#xff0c;例如行锁&#xff0c;表锁&#xff0c;页锁&#xff0c;全局锁&a…

MyBatis Plus:自定义typeHandler类型处理器

目录 引言&#xff1a;关于TypeHandler PostGreSQL&#xff1a;JSON数据类型 PostGreSQL数据库驱动&#xff1a;PGobject类 TypeHandler类型处理器 自定义类型处理器 类型处理器实现&#xff1a;PGJsonTypeHandler 注册类型处理器 引言&#xff1a;关于TypeHandler MyBa…

Sui在Dacade推出Move课程,完成学习奖励SUI

Dacade推出了一门Sui开发者课程&#xff0c;通过一系列引人入胜的挑战&#xff0c;为开发者提供了一个沉浸式的Move技术之旅。在这门课程中&#xff0c;Dacade的教育材料将引导用户利用Sui强大的DeFi原生功能&#xff08;包括DeepBook和zkLogin&#xff09;构建DeFi应用。此外&…

提升VR全景摄影画质的8个因素

如今VR全景拍摄的门槛已经很低&#xff0c;包括无人机、全景相机等都具有一键全景的功能。很多初次接触VR全景拍摄的朋友会发现同样的设备&#xff0c;为啥拍出来的效果就不如别人呢&#xff1f; 其实&#xff0c;要提升VR全景拍摄质量&#xff0c;只需要了解以下几个环节&…

基于多种机器学习模型的西北地区蒸散发模拟与趋势分析_季鹏_2023

基于多种机器学习模型的西北地区蒸散发模拟与趋势分析_季鹏_2023 摘要关键词 1 资料和方法1. 1 研究区域与观测数据1. 2 机器学习模型构建与验证方法1. 3 SHAP 可解释性方法 2 主要结果2. 1 不同模型的模拟性能和泛化能力2. 2 不同模型的可解释性分析2. 3 5 km 分辨率格点蒸散发…

Newtonsoft.Json设置忽略某些字段

using Newtonsoft.Json; using Newtonsoft.Json.Serialization; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace TestProject1 {/// <summary>/// 输出json时&#xff0c;设置忽略哪些…