将hexo网站部署到coding

将hexo网站部署到coding

如何将hexo网站部署到coding,并绑定自定义域名。

前言

原本hexo静态网站,是部署在国内的gitcafe上的,为的就是不要翻墙带来不必要的访问阻隔,但是最近收到了gitcafe的电子邮件,说是其已被coding(釦钉网路)收购,作为其合并产品,估计服务和数据的整合关系,不得不让所有用户在5月前将数据迁移。T T,可怜了我这些小用户,没办法,只能把网站静态资源迁移到coding上。(此时真的一万匹草泥马在内心奔跑)

正文

准备hexo文件

这篇博文是建立在你现有hexo的基础了解,并已经拥有一个hexo网站项目为基础而言,如果你还弄不明白什么是hexo或者hexo如何搭建的话,建议Google一下或度娘一下,网上有很多已经相当成熟的文章,毕竟这轮子已经是几年前造的,以下是我的hexo项目结构:

本地hexo文件

修改项目配置

打开hexo项目文件中的_config.yml文件,然后找到deplpy配置项,此处type设置为”git”类型,repo设置为”coding”,并对coding属性设置为对应的git地址。由于coding和gitcafe都提供了对应的二级域名作为免费使用的网站域名,因此这里挂在coding上的网站项目必须和Gloab Key一致,即用户名和项目名一样,如下代码:

# Deployment
## Docs: http://hexo.io/docs/deployment.html
deploy:
  type: git
  repo:      
      coding: git@git.coding.net:mowd/mowd.git,master

注意,.yml格式的配置文件,以空格缩进的方式进行标识,因此空格不能多,也不能少。

coding上创建网站项目

来到 coding项目创建 页面上,通过点击项目,然后点击加号来到项目创建页,如下

coding创建网站项目

其中项目名称和全局名称(即你的用户名)要一致,项目介绍可随意写关于这个项目一些描述,选择“私有”属性,最后点击“创建项目”即可,效果如下图

创建成功效果

设置SSH公钥

通过git bash命令输入:

ssh -T git@git.coding.net

此时它会让你选择公钥文件的存储路径,此时一般选择直接“enter”跳过;

跳过以后,coding会判断你C盘user下的.ssh文件中是否已经存在了公钥,去让你选择是否覆盖,这里通过输入y去确定覆盖;

如果此时得到以下提示,即代表成功添加公钥:

Coding.net Tips : 
[Hello ! You've conected to Coding.net by SSH successfully! ]

返回浏览器,在coding上点击头像—账户—SSH公钥,来到SSH添加页,将刚才生成在.ssh文件夹中的id_rsa.pub文件内容拷贝,并粘贴到“SSH-RSA公钥内容”选项框中,点击“添加”

增加SSH公钥

使用coding-pages服务方式部署

一般而言,部署网站方式有两种,第一种是coding-pages服务方式,而第二种则是演示方式,该方式必须要成为会员后才能绑定自定义域名,因此这里比较建议使用pages方式部署。

pages部署方式,是要让文件项目以静态资源的方式进行部署,因此需要告知coding,这个项目是静态资源,因此我们通过git bash进入 hexo文件中的source文件,并建一个Staticfile文件进行标识发布方式:

cd source/
touch Staticfile  #名字必须是Staticfile

当发现source下出现了名字是Staticfile文件,代表标识成功

添加静态标识

最后通过在hexo项目上git bash执行命令部署

hexo deploy -g

这时候在coding上选中项目-代码-Pages服务,通过设置对应的pages服务

如:http://.coding.me/

点击 “开启服务”,“重新部署”,切换到“master”分支即可

pages服务

绑定自定义域名

默认情况下通过coding赠送的二级域名是能实现网站的展现,但是会带上coding的域名,相当的不好看,如 http://mowd.coding.me/mowd

这时,你可以为自己的pages项目配置一个自定义域名,通过在万网或者国外godaddy等网站购买域名后,通过DNS管理网站,这里选用国内的dnspod,进行域名解析管理,参考下图,将对应的值设置上(记得修改后要保存!!!)

dns设置

绑定自定义域名

完成后,可以回到coding的Pages服务页,绑定自定义域名,并点击“添加域名绑定”即可,这样以后,我们就可以通过自定义域名去访问到coding托管的静态网站了。O(∩_∩)O哈哈~