一篇扫清:GitHub-Pages自动化部署 + github/gitee选择
GitHub/Gitee 选择
- 速度来看,GitHub 在加载速度上略超 Gitee,部署速度 Gitee 略快(但是这项几乎不影响体验)
- 但是就图片加载来看,GitHub 还是远不如 Gitee,可以考虑图床或者 JsDelivr 做 CDN 来解决
- 功能上,都支持 Hexo 部署和选择分支部署
- GitHub 只能识别并部署根目录
/
或者/docs/
,而 Gitee 支持自定义要部署的路径
- GitHub 只能识别并部署根目录
解决方案
- 如果你想部署在 GitHub 上但是却因为它不识别那个路径
- 尝试修改博客根目录下的
_config.yml
,把public_dir: public
改为public_dir: docs
- 这样在博客 generate 时会把需要部署的文件生成到 docs/里,可供 GitHub 识别
- 注意在 GitHub 的这个仓库的 Settings 里要把 source 的分支,目录对应修改好
- 尝试修改博客根目录下的
开启
Gitee
Github
GitHub 自动化部署
安装 Hexo-deployer
(注意 cnpm 好像不行)
`npm install hexo-deployer-git --save`
在
_config.yml
里添加以下内容(注意缩进不要错)deploy:
type: git
repo: 这里填入 GitHub 仓库 URL
branch: master在对应仓库的设置里找到 github-pages 然后选择对应分支,系统就会自动部署并发出你的博客链接了
另一种更加方便完美的解决方案
- 因为搭建这个博客的工作目录可能并不是一个独立的 git 仓库
- (就是它被包含在其他仓库里,而非自己是一个独立仓库)
- 这种情况下上面的 deployer 就鸡鸡了(没法用了,除非自己改),有没有解决方案呢?
- 有,使用 github-action 自动化部署!
github-action 自动化部署
文件目录: Blogroot/.github/workflows/deploy.yml
(简单点就是.github 跟 public,source 等等同级目录),写入下面内容:
name: Build and Deploy |
解释:
- name 随意起
- on:[push]意思是在推送时触发 action
- Build and Deploy 就是触发的 job 名称
- run-on 是运行环境(其自带一些基础的环境,Exp:Node.JS,但是更具体的比如 Hexo 就不会自带了)
- steps 就是步骤了,可以看出下面有三个步骤(步骤内的操作就不细讲了…)
- 这样我们写完博客 generate 之后 push 这个仓库,github-action 会自动执行找到你指定的文件夹把它部署到你指定的分支上,然后设置下让 github-pages 部署这个分支,博客就出来了!
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ⭐️齐下无贰⭐️!
评论