重新部署hexo

2020-09-23 10:46:20 浏览数 (1)

​ 问题所在:

改用了自己服务器搭建hexo后,也实现了gitalk的初始化,但是要git同步以及每次都要重新部署,制作很多定时任务,有时还会执行失败,导致还要手动的去修改和部署,并没有实现自动的部署,还是比较鸡肋,所以使用新的解决方案,来实现真正的自动化.

准备工作:

  1. 前几篇文章为了安全问题把仓库改为了私有,现在重新使用travisCI平台,使用token变量,也就可以防止token的泄漏,但是由于git中有版本库,所以不打算重新改为公共库,然后删除分支重新push,决定保持私有
  2. 放弃hexoserverdeploy服务,改为nginx作为应用服务器,服务器只保留generate后的静态文件,配置更加灵活,可以直接映射80端口,也可以使用反向代理映射到不同的端口
  3. 使用github提供的hooks功能,监测github仓库的提交记录,如果提交了修改则服务器自动pull每次的更改,以实现真正的自动部署
  4. 保留githubhexo分支,继续多端,多设备push,更专注与文章的编写

开始

  1. 关于travis的使用及变量的添加,前面的文章有说过,此处不做重复,说一下将gitalk初始化需要的token加入到配置文件的变量中,并使用travis自动执行初始化 首先将根下的_congif.yml设置deploy仓库

gitalk仓库的token加入到travisci的变量中,修改gitalk.init.js

最后,修改根下的.travis.yml

  1. 修改package.json文件,不再使用npm run 的方式,将script里的代码去掉即可,或者不改动,不使用npm run 命令启动,进入服务器开始执行一些配置 配置nginx将80端口映射到git仓库的master分支的public目录下,如果使用nginx访问不了,首先重启nginx使配置生效,如果报404,可能使路径设置有问题,如果报403,则是权限问题,可以修改目录的组权限,chown -R nginx:nginx dirname,具体情况可以百度,有很多的解决方案,如果有问题解决不了,不要急躁而像无头苍蝇一样没有方向目标,多想想流程,过程中发生了什么,比如nginx的启动过程,为什么报错,权限分为几种,什么是所有者和用户组,多带着思考去看待问题,而不是直接去搜索引擎,搜索引擎也只是一个参考,不应该作为一个依赖的东西,不做思考没有什么效果,就算解决了也是搜索引擎解决的,对自己的提高和独立思考能力不太友好
  2. 这篇先说这么多,下篇开始使用githubhooks使服务器自动拉取仓库的变动代码(主要是到这里我还没有实现,需要自己去部署一遍)

0 人点赞