一、安装docker镜像和容器

通过docker安装,会比在本地安装方便,容器集成了所需环境,可以用完即删。如果在本地安装所需环境,过程比较麻烦,而且混乱。

安装容器

docker run -d \
--name=hexo \
-e HEXO_SERVER_PORT=4000 \
-e GIT_USER="Github用户名" \
-e GIT_EMAIL="Github邮箱" \
-v /etc/docker/hexo:/app \ #记得设置本地挂载文件夹
-p 4001:4000 \
bloodstar/hexo

启动容器

docker hexo start 

进入容器

docker exec -it hexo bash

生成密钥

ssh-keygen -t rsa

复制公共密钥和私钥

cat id_rsa.pub
# 拷贝公共密钥 含ssh-rsa开头,粘贴到记事本,后面要用到
cat id_rsa
# 拷贝私钥 含---开头、结尾,粘贴到记事本,后面要用到

二、配置Github Action

安装git插件

npm install hexo-deployer-git --save

创建公共库并配置Deploy

首先,创建公共库,名称:github用户名.github.io

接着,打开该库的setting,左侧Deploy keys,点击Add deploy key

然后,Titile填写HEXO_DEPLOY_PUB,Key填写你的公共钥

最后,回到你的hexo目录,修改_config.yml文件:

# 注意:用户名改成你的github用户名
deploy:
- type: git
repo: [email protected]:用户名/公共库名.git
branch: main

创建私库并配置Actions

基础设置

首先,创建私库,名称:hexopri

接着,打开该库的setting,左侧Secrets,选actions,点击New repository secret

最后,name填写HEXO_DEPLOY_PRI,Value填写你的私钥

上传源代码到私库
# 注意:用户名改成你的github用户名
git init
git add .
git commit -m "first commit"
git branch -M main
git remote add origin [email protected]:用户名/hexopri.git
git push -u origin main

此时,你的hexo源码都上传到了你的私库。

创建Actions

进入你的私库(hexopri)页,点击ActionsNew workflowset up a workflow yourself,将下方代码粘贴进去,有3处需要修改:Your github branchgithub usernamegithub email

name: HEXO CI
on:
push:
branches:
- Your github branch
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [14.x]
steps:
- uses: actions/checkout@v1
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Configuration environment
env:
HEXO_DEPLOY_PRI: ${{secrets.HEXO_DEPLOY_PRI}}
run: |
mkdir -p ~/.ssh/
echo "$HEXO_DEPLOY_PRI" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
ssh-keyscan github.com >> ~/.ssh/known_hosts
git config --global user.name "github username"
git config --global user.email "github email"
- name: Install dependencies
run: |
npm i -g hexo-cli
npm i
- name: Deploy hexo
run: |
hexo clean && hexo generate && hexo deploy

最后,Start commitCommit new file

此时,通过actions日志可以查看运行情况,运行成功后,你的公共库就有你的网站静态文件了。

配置github pages

进入你的公共库,点击Settings,拉到最下面找到GitHub Pages,点击Check it out here!,此时就可以看到你的博客地址了。