# GitHub 部署

npm install hexo-deployer-git --save

deploy:
type: git
repository: git@github.com:cndadi/cndadi.github.io.git #你的仓库地址
branch: main

hexo clean
hexo generate
hexo deploy

# 服务端创建 Git 仓库

配置免密登录
配置本地客户端与阿里云服务器端的 ssh 免密登录,方便上传仓库时一键式上传。

在本地客户端生成并上传公共密钥:

# 执行完之后一直回车就行

ssh-keygen

# 上传公共密钥到阿里云服务器

ssh-copy-id root@阿里云公网 IP

# 测试是否已免密

ssh root@阿里云公网 IP

服务器上创建一个 Git 仓库,该仓库中新建一个 post-receive 钩子文件。

cd ~
git init --bare hexo.git
vi ~/hexo.git/hooks/post-receive

# 填写以下内容,其中的–work-tree 为 hexo 博客目录

git --work-tree=/data/blog --git-dir=/root/hexo.git checkout -f

# 授予钩子文件可执行权限

chmod +x ~/hexo.git/hooks/post-receive
chmod -R 777 /data/blog

至此,Git 仓库创建并配置完成,对应的本地客户端也需要配置一下!

在本地计算机 hexo 的工程目录下,找到 _config.yml,对 deploy 参数进行修改,如下图所示

# Deployment

# Docs: https://hexo.io/docs/one-command-deployment

deploy:
type: git
repo: root@公网 IP:/root/hexo.git
branch: master

在本地计算机安装插件: hexo-deployer-git 和 hexo-server,插件的作用分别是使用 Git 自动部署,和 hexo 本地简单的服务器:

登录后复制
npm install hexo-deployer-git --save
npm install hexo-server

# 配置全局变量

git config --global user.name “你的账号”
git config --global user.email “你的邮箱”

# 生成发布 Hexo 博客

hexo clean
hexo generate
hexo deploy