记录一下在搭建博客中的经验和爬过的坑
个人博客一般部署在Github、Coding或GitFace这样的代码托管平台中,这里使用国内正火的Coding.net平台,以确保博客的访问速度,避免被墙。
在阅读本篇之前,假如你已经掌握了hexo的本地环境搭建、git版本管理工具、coding代码托管平台的基本使用。
Coding准备
新建项目
登陆 Coding ,创建一个新的项目 blog ,获取 SSH 地址
SSH、HTTPS、GIT 三种地址的区别 详情参考官方DOC:
- HTTPS:一般用于自己对他人的项目进行Clone,在进行fetch和push的时候都要输入登陆账号和密码。
- SSH:用于项目拥有者管理项目,需要在本地预先配置好SSH Key,在fetch和push时不需要输入账号和密码。
- GIT:用于clone项目,下载速度快,不能进行fetch和push操作。
添加SSH Key
在第一次本地与Coding.net建立关系时,需要设置SHH公钥,生成方法参考 Coding官网教程
生成成功后在Coding的设置里添加新公钥
验证SSH Key 是否添加成功ssh -T git@coding.net
坑:这种方式不能验证成功,错误提示为:ssh: connect to host coding.net port 22: Bad file number
解决:很多教程上就是上面的写法,原因是coding最近更改了域名导致以前的方式验证失败,正确的验证命令是ssh -T git@git.coding.net
成功提示:Coding.net Tips : [Hello coderlt! You've connected to Coding.net by SSH successfully! ]
这样下来,本地的博客代码就可以正常推送到Coding中了,下面做一下hexo的相关配置
Hexo部署
安装插件
使用git推送代码到管理平台,必须先安装hexo的git发布插件hexo-deployer-git
:npm install hexo-deployer-git --save
修改_config.yml的deploy配置deploy:
type: git //此处为git,不用修改
repository: https://git.coding.net/codert/blog.git //填入从coding项目中获得的项目SSH地址
branch: master //一般为master
Hexo发布
配置好以上环境后,就可以使用Hexo一键部署了hexo deploy -g #生成加部署
编译项目文件到 public
文件夹中,并提交到Coding项目blog的mastrer分支中
Coding 演示模式
开启演示Coding演示平台手册:
设置好访问域名、应用内存,点击 一键部署
,稍等片刻就可以访问自己的博客了
部署成功后,界面如下:
注意:我们部署到Coding上的博客文件,是Hexo编译生成的静态文件,而Coding上对静态文件的项目开启演示有必要条件,项目根目录下必需有StaticFile文件,我们在Hexo博客项目themes\next\source\目录下添加文件StaticFile
与 README.MDOWN
部署后自动更新
webhook 介绍
Webhook 允许第三方应用监听 Coding.net 上的特定事件,在这些事件发生时通过 HTTP POST 方式通知( 超时5秒) 到第三方应用指定的 Web URL。 例如项目有新的内容 Push,或是 Merge Request 有更新等。 WebHook 可方便用户实现自动部署,自动测试,自动打包,监控项目变化等。
webhook 配置
在项目中打开设置,菜单选择 webhook, 新建webhook
地址填写blog的演示地址,最后以 /_
结尾,值可以随意设置一个值hexo
在项目中打开演示,菜单选择 环境变量,添加环境变量, 将刚刚设置的webhook添加上去
重启演示,就可以在本地编译 hexo deploy -g
,Coding中就能自动更新了
我的博客项目演示: http://toggle.coding.io/
Over