曾经应用 HEXO 失常构建 GitHub 页面
依据 github action 给 hexo 配置主动部署 github page
返回墨抒颖的集体网站查看污浊版
1. 为仓库设置拜访密钥
第一步学生成密钥,关上命令行并生成一组密钥
ssh-keygen -f github-deploy-key -C "HEXO CD"
<!– more –>
记得跳过明码啥的,这里连按三次回车就好
随后咱们会取得两个密钥文件,这两个等下会用到
2. 上传私钥
github 仓库地址 → Settings → Secrets → New secret
点击 new repository secret
新建仓库密钥
名字 HEXO_DEPLOY_PRI
内容 github-deploy-key
文件内的所有内容
⚠不要轻易走漏你的私钥⚠
3. 上传公钥
这里要分清你的仓库 ->page 的模式,公钥被上传的仓库代表着要被部署的仓库,github 不反对同一个(部署)公钥上传至多个仓库
不同仓库
如果你的 hexo 代码和要部署的页面不在同一个仓库
比方你有一些临时不不便公开的内容,或者你是不想公开你的 Hexo 代码,只想将动态页面(文字,图片,网站主题所用的各个款式和脚本)部署到 github page 上其余的内容一律不蕴含
此时你须要将公钥上传到你要部署的仓库中去
名字 `HEXO_DEPLOY_PUB
内容 github-deploy-key.pub
文件内的所有内容
记得勾选容许写入权限
雷同仓库
与上一步相似,只是上传到的仓库地址和你的代码仓库地址一样,不过你肯定要确定你有在配置中设置号正确的的分支
配置 github action
这里能够在 github 上点击 Action -> new workflow -> set up a workflow yourself
轻易挑个模板将内容放进去,也能够在代码仓库中的 .github/workflow
增加一个 hexo-ci.yml
而后将以下内容放进该文件中。
记得把 blog_source_branch
, username
, username@email.address
替换成你本人的
name: HEXO CI
on:
push:
branches:
- <blog_source_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 "<username>"
git config --global user.email "<username@email.address>"
- name: Install dependencies
run: |
npm i -g hexo-cli
npm i
- name: Deploy hexo
run: |
hexo clean && hexo generate && hexo deploy
而后提交本次更改即可
配置 Hexo deploy
关上代码仓库中的 _config.yml
将 git 存储库从 http 模式更改为 ssh 模式。
公布部署文件的的分支应该仓库配置的分支一样
deploy:
type: git
repo: git@github.com:moshuying/moshuying.github.io.git
# example, https://github.com/hexojs/hexojs.github.io
branch: master
你曾经实现了所有操作!推送一次看看成果吧。
参考和举荐
hexo 中运行 shader 和 threejs
hexo 配合 github action 主动构建(多种形式)