突然知道了Coding只有黄金会员才能使用干净的page服务(不知道为什么被送了半年黄金会员……)。
gitlab自带网页版的web IDE和自动化的CI可以很方便地部署和在云端写作。本以为会像部署在coding上一样简单,没想到完全不一样……

gitlab和github部署的区别

gitlab pages服务是在云端把上传后的源码变成网站,而github的操作是在本地安装好hexonode.js等工具,在本地把源码变成各种网页,再把做好的网页上传到云端。
虽然gitlab减少了在本地处理的处理的内容,但相对github也存在处理时间较长、不方便实时预览等问题。
不过总的来说,gitlab折腾一次就足够了,也不怕自己写的md在本地被不小心删掉了。

Hexo文件变更

1、修改站点目录和主题目录下的.gitignore文件。
该文件里列出的位置在进行git push操作时,会被忽略掉。为了保证所有文件都被上传,我把两个.gitignore改成了空文件。

2、删掉站点目录和主题目录下的.git文件夹。

3、在站点根目录新建.gitlab-ci.yml文件。内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
before_script:
- apt-get update -qq && apt-get install -y -qq pandoc
image: node:9.8.0
pages:
cache:
paths:
- node_modules/
script:
- npm install hexo-cli -g
- npm install
- hexo deploy
artifacts:
paths:
- public
only:
- master

4、注释掉站点目录下_congif.ymldeploy字段的内容。

gitlab操作

1、在gitlab新建一个Project
Project name填写为<用户名>.gitlab.io

2、把Hexo文件上传到gitlab

1
2
3
4
5
6
cd <site>
git init
git remote add origin git@gitlab.com:<用户名>/<用户名>.gitlab.io
git add .
git commit -m "Hello World"
git push -u origin master

等几分钟一定要等几分钟访问https://<用户名>.gitlab.io就可以看到你的博客啦。