通过云环境部署Hexo静态博客
前言
新型冠状病毒好可怕,出门还得带口罩
建议在阅读本教程前先学会如何使用hexo。此教程不是零基础学会hexo系列。
我为什么要出这份教程?
首先说明,我自己也是才转到静态博客不久。今天应该是第八天。当初迟迟没有转到静态博客的主要原因是因为发博客不方便。毕竟hexo是本地的。但是一次偶然间,我发现了云环境(其实就是一个网页版的vscode),但其提供服务环境(Ubuntu、node等)。于是我突发奇想,试试能不能通过这个来实现在线写博客。最后成功了,因为我觉得很简单。
实现云部署需要准备什么。
必须:
git的基本知识
我认为这一点是必须的,不然不好操作。
两个git仓库
coding,码云,GitHub等均可以。
非必须:
密钥
1
ssh-keygen -t rsa -C "your_email@example.com"
这里不写详细教程了。总之生成完之后你的用户目录里会出现一个.ssh的隐藏文件(如果看不到,请打开查看隐藏的设置)
其中
.pub
结尾的就是你的公钥了。这个是我们一会儿需要用到的。如果使用这种方式,无法使用hexo自动部署。
思路
首先我们来捋一下思路。
- 既然我们要部署静态博客,那么就需要将
public
目录上传。(当然,hexo d
会帮我我们做这件事情)所以我们这时就需要一个仓库。为了方便我管他叫仓库1 - 那我们想做的还有在线写博客,那么就需要将博客的全部源代码上传,这时我们就又需要一个仓库。我管他叫仓库2
既然明白了两个仓库的作用,那我们就可以开始了。
开始
这里我使用coding
,新建两个仓库。个人版与团队版都一样。
创建两个项目,我这里一个叫page代表仓库1一个叫home代表仓库2
然后我们为了方便添加公钥,如果上一步没有生成公钥那么认证的时候可以使用账号密码。(将公钥文件右键用文本文档打开,复制里边的内容即可)
1. 配置文件
此步骤是为了方便演示,正常情况下你已经可以通过这个命令部署了。所以如果已经配置了的小伙伴无需新建仓库,来执行此步骤。保留原来的即可。并跳过此步骤看下一个步骤
这里我将我曾经的博客下载下来作为演示,首先将根目录的配置文件中的配置添加上我们的仓库。
1 | deploy: |
安装插件,这样才可以使用hexo d
的自动部署
1 | npm install --save hexo-deployer-git |
然后我们hexo cl && hexo g && hexo d
测试下是否能够自动部署。
可以看到 成功部署了
2. 上传源文件
我们上传我们的博客源码到我们的第二个仓库。
那么执行的操作是:
在博客目录打开命令行工具
命令行工具自行斟酌,使用git的bash也可以。不过我在这里推荐一款
cmder
的工具。很好用,我很喜欢首先输入命令
git init
然后执行添加文件的命令
git add .
这里的
.
代表添加此目录所有文件,但默认不会添加public
和moudles
等目录。你也不需要担心,因为这些都是程序生成的。接下来是提交修改命令
git commit -m '第一次提交'
接下来我们添加远程的仓库
进入项目,点击代码仓库就可以看到我们的项目地址了。
因为我已经添加过公钥了,所以我们直接用ssh的方式链接。输入以下命令即可上传到远程仓库
1
2git remote add origin 你的地址
git push -u origin master检查一下
我已经成功将博客源代码传到了第二个仓库。
3. 使用云环境
写文章
为什么使用coding呢?它的优势就来了,它可以直接点进去云环境,如果使用其他平台需要进入腾讯开发者平台。大家自行百度,这里不提供链接了。
进入云环境后先别急着创建项目,我们先点设置,将公钥黏贴到我们的coding中。
这一步和开始我们做的那个一样。这里就不演示了。
将公钥添加到coding后,我们开始创建项目。
新建工作空间
如图所示,环境选择
node.js
,当然选服务器或者Ubuntu
也可以,至于怎么配置自行百度。这里强烈不建议非node.js
环境。代码来源选择仓库,仓库的地址就是我们第二个仓库的地址。
创建
创建完成后,我们进入工作空间。
初始化环境
等上一步加载完之后,就会出现这个界面。
如果你的界面打开之后是英文的,那么点击左边倒数第二个按钮,然后卸载掉
Chinese...
这个插件,然后在重装一下就好了。(重装后需要重新进入环境,右下角有提示。)等待一会儿,我们的项目也就克隆了过来。
如果迟迟不出现,那么点击工具栏的终端->新建终端->输出。就可以看到进度了。如果出现错误应该就是你没有加公钥的问题了。
给cloud studio安装hexo
点击工具栏的终端->新建终端->下边点击终端。输入一下两个命令
1
2npm install -g hexo-cli
hexo install hexo --save等待安装完成即可。
不出意外,看到上面的提示 说明安装完成了,可以运行一下命令
hexo g
测试是否生成了文章。然后我们可以看到左侧,已经生成了
public
目录,并且终端也没有报错。(如果报错,说明你的文件有问题,检查一下主题文件是否存在。)用cloud studio写第一篇文章
在终端中输入命令
hexo new 文章名
来创建文章然后打开
/source/_posts
就可以看到你刚刚创建的文章了。写完文章后,(这个里边也是
ctrl+s
保存文章哦)我们设置一下我们的git标识 也就是邮箱和名字。这是git必须要求设置的。
1
2git config --global user.email "you@example.com"
git config --global user.name "Your Name"接下来我们在终端输入hexo发布三连
hexo cl&&hexo g && hexo d
的命令。这是已经发布成功了。
查看文章
上一步我们已经发布完成了。接下来打开看一下。
可以看到我们刚刚上传了,因为coding需要实名,而我还没有实名认证,因此不演示界面了。
结束
此时我们就解决了在线写文章的问题了。
同步文章到仓库
为什么会有这一步?其实很简单,你写的文章都在你的云环境中,并没有同步到你的第二个仓库里(是不是忘了还有这个仓库?)接下来我们就将代码同步到第二个仓库里。
添加代码
git add .
然后提交
git commit -m 'cloud提交'
引号里边的内容根据自己写。
提交代码到远程仓库
git push origin master
提交完后可以看到代码仓库的提交记录
4. 克隆到本地
也就是本地编辑,那么第一步需要克隆项目到本地。
git clone 你的项目地址
注意这里的项目地址指的是仓库2,也就是博客全部文件的那个仓库。
克隆完之后,在此目录打开命令行工具,npm install hexo --save
等待安装完成后,就可以正常的操作了。也就是你平时你怎么用,克隆回来还是怎么用。
上传
这里讲一下如何将本地的文件同步到第二个仓库里。
将项目克隆到本地,也就是上面文字介绍的。这里不演示了。
同样的我新建一篇文章,并且编辑。(这里跳过了部署的过程,当然你可以部署完后在同步)
添加文件
git add .
提交修改
git commit -m '本地修改'
推送到远端
git push origin master
至此,基本上就完成了大部分操作了。
5. 其他问题
在日常使用的工程中,可能会遇到这种情况
本地代码推送到了仓库,使用
cloud studio
发表了两个文章,在使用本地的代码无法推送了。或者是本地推送了几次,cloud studio
无法推送了。
这样的原因很简单,是因为你当前的版本与服务器的版本不一致造成的。这里涉及到git协同工作的问题了。
如果又能力的小伙伴可以使用git pull
把最新的提交拉去下来。
当然我相信大多数小伙伴是不太会操作的。那解决方法也很简单,删掉以前的文件(或云环境),重新clone(创建一个云环境)一下就好了。
当然删除之前记得备份一下仓库里没有的文章或修改的配置。
所以 强烈建议大家每次发表完文章,同步一下自己的修改到第二个仓库。
最后,如果我的文章对你有帮助,那么你可以点下边的赞赏按钮,请作者喝杯咖啡哦!
如果图片失效请在下方留言,或联系作者。