Hexo本地化随时部署
1. 需求
- 使用dsm自动构建网页代码,并上传到vps上
- 将dsm源码放在dsm共享盘,并能同步到阿里云盘,挂载在本机windows中,基于ddns
- 本地一旦上传,dsm自动构建
2. 部署dsm公网共享盘至windows本地
2.1 挂载dsm共享盘至windows本地
2.1.1 dsm设置
简单操作,在dsm的file station中启用hexo的远程装载权限,设置为所有用户,并在控制面板中打开家目录。
2.1.2 windows本地挂载
以win11为例,打开资源管理器,点击```,选择映射网络驱动器,文件夹按示例填写dsm中的共享磁盘的网络位置。
2.1.3 测试
在文件夹中新建一个txt文件,查看dsm中是否新建成功,然后在dsm中删除,查看本地挂载的文件是否被成功删除。
2.2 映射到公网
这里用的是基于openwrt的ddns获取域名,用防火墙转发。只需要放开dsm中对外提供samba服务的端口重新映射至wan口即可。
按下图转发并放开对应端口
2.2.1 防火墙转发设置
2.2.2 防火墙通信设置
2.2.3 重新挂载公网dsm共享盘
参考步骤2
3. dsm自动构建网页代码,并上传到vps上
3.1 本机搭建hexo环境
3.1.1 nodejs 安装
Hexo是基于node.js的,所以我们在安装它之前需要用到npm安装工具,这个工具是 node.js 安装包的工具,所以,我们先要安装 node.js。
3.1.2 git 环境配置
参考文档《Git与Github使用笔记》第7章 Git和Github的使用_Bruceoxl的博客-CSDN博客
1.下载并安装git-bash
安装成功后会有git bash,git gui,在命令行输入git –version能显示版本号
2.登陆github新建一个test库
3.生成本地ssh key,并复制到github账号设置中
1 | ssh-keygen -t rsa "邮箱地址" |
4.测试是否配置成功,输入下面指令,回显如图所示。
1 | ssh -T git@gihub.com |
5.配置本地用户和邮箱
1 | git config --global user.name “xxx” //设置用户名 |
3.1.3 git仓库绑定
暂时不需要
3.1.4 hexo配置
- 安装
1 | npm install -g hexo-cli |
- 初始化
1 | hexo init |
- 生成网页
1 | hexo g |
- 本地测试
1 | hexo server |
3.1.5 hexo迁移
将原本的hexo源码中的scafflods,source,themes/next,已经_config.yml文件拷贝过来。
其中出现老版本警告关于use-date_for_updated警告,参考https://cyfeng.science/2020/11/20/hexo-use-date-for-updated-warning-solution/,将_config.yml文件将```use_date_for_update:false``` 修改为update_option: 'date'
注意冒号后有个空格。
3.1.6 hexo错误
hexo d后的错误,error:deployer not found :git
参考 hexo d命令报错 ERROR Deployer not found: git_蓝蓝223的博客-CSDN博客
原因为未安装hexo-deployer-git
插件,在站点目录下安装该插件即可
1 | npm install hexo-deployer-git --save |
3.2将hexo源码放置在dsm远程目录中
3.2.1 将本地迁移的代码复制到第2节中的文件夹中
用hexo g、hexo s时代码会卡顿