2016.03.07更新:
部署到coding时,如果使用pages的话,项目名称必须与coding的用户名一致,但是演示并没有这个要求。而且目前为止:演示不能绑定自己的域名,而pages可以,所以说,为了以后方便,项目名称还是与用户名一致的好,不然部署pages会出现没有样式的bug.
源自:我的博客
之前已经把hexo
部署到github
,但是有时候挺慢的,于是就像跟大家一样搞到国内的gitcafe
上,岂料,上到gitcafe
官网才发现它已经被coding.net
收购了,而且2016.5.31之后停止服务。
于是直接去了coding
上部署了。结果有一点问题,耽误了好长时间。。。记录一下吧。
coding配置
基本流程跟github
一样,都是先申请帐号。这里需要说一下的是,申请coding
的邮箱尽量与github
使用同一个邮箱,这样配置ssh
就省了事情,不用配置两个ssh了。
ssh对接
基本一样,如果之前生成过ssh
的话,就可以直接使用,一般存放在~/.ssh/id_rsa.pub
。如果没有的话,那就下面几步就可以了
$ ssh-keygen -t rsa -b 4096 -C "你的邮箱"
后面就直接默认,按回车就好。
然后就是:
<!--more-->
$ ssh-add
然后在coding
的个人页面,如下
注意这是在个人账户下添加了
ssh
,以后新建了项目,项目也有个ssh
,但是那个是只读的,不要加到那里去。只需要在个人账户下,加入了即可。
加入了之后,执行验证:
ssh -T git@git.coding.net
提示如下即可:
Hello shomyliu You've connected to Coding.net by SSH successfully!
如果失败了,则检查一下是不是在coding
那里对了,基本流程跟github
一样。这一步ok了。
新建项目
这一步也很简单,直接新建一个项目就好了,注意用户名尽量与项目名称保持一致。另外网上有人说得是最好是公有的,所以就搞了一个公有的。其余的都不用动,直接默认就行了。
hexo配置
新建好了coding
的项目之后,修改一下站点的配置文件,_config.yml
如下:
deploy:
type: git
repository:
github: git@github.com:ShomyLiu/ShomyLiu.github.io.git
coding: git@git.coding.net:shomyliu/shomyliu.git
branch: master
就是在原来的基础再加一个就好了。只需要把repo的地址改成自己对应项目的就好。
还有一步,就是在source/
需要创建一个空白文件,至于原因,是因为 coding.net
需要这个文件来作为以静态文件部署的标志。就是说看到这个Staticfile
就知道按照静态文件来发布。
cd source/
touch Staticfile #名字必须是Staticfile
现在可以deploy
了。
$ hexo clean
$ hexo g
$ hexo d
会看到有两个发布。发布完成之后,还需要托管coding.net
上。
部署
然后下面开始部署:有两种方式
使用Pages
部署
这种方式的话,就跟Github Pages
一样。只需要在如下:
因为前面配置的分支是master
,因此开启之后,也需要是master
。然后看起之后就可访问了,下面两个链接都可以访问
http://shomyliu.coding.me/shomyliu
http://shomyliu.coding.me/
使用演示
这种方式类似与使用coding.net
的主机了。但是貌似每次部署更新不及时,可以尝试。
如图,打开自己的新建的项目,在代码区域,可以看到已经push
上去了。现在打开演示一栏
:
直接 开始检测
, 一般情况,如果按照上面的步骤来的话,尤其是创建了Staticfile
这个空文件的话,这里是可以正常开启的。如果不行的话,就强制开始,然后在进去如下:
如果是正常开启的话, 系统会自动检测运行环境,这时候,就没有必要修改高级选项了,如果是强制开启的话,那就需要修改了,指定运行环境是html
. 然后运行内存 可以改小一点,毕竟静态博客也就占用几M内存。
之后在一键部署,稍等一会(时间有长有短),部署成功如下显示:
这时候,访问你的网页就可以了,与github.io
一模一样。
此时还有一步,就是为了可以每次更新都可以立刻部署到线上,这里就需要配置一下webhook
,这里参考了这篇
首先在项目设置里面找到webhook
:然后新建一个webhook,域名后面记得加上/_
如图, tooken可以随意写。之后添加了之后,回到演示页面,找到环境变量:如下:添加即可webhook:
之后再终止掉演示,重新部署,再次开启虚拟机,就最终完成了.
可以看出第一种方式比较方便,建议使用。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。