實作 - 將 Hexo blog 搬家到 Gitlab

[實作] 將 Hexo blog 搬家到 Gitlab

  • 因為 Gitlab 可以設定自動建置與部屬,所以就被吸引搬家過去啦

1. 在 Gitlab 上新建 Project

  • 新建 Project

  • Project 名稱輸入 : <Gitlab 帳號>.gitlab.io
  • 建議用私人 ( Private )

2. 建立 SSH 連線

3. 將本地端項目加到 Gitlab

1
2
3
4
$ git remote rename origin old-origin
$ git remote add origin <Project SSH 地址>
$ git push -u origin --all
$ git push -u origin --tag
  • 這是從本地有連結 Github 的檔案搬到 Gitlab
  • 如果是沒連結過的照 Gitlab 的方法操作,跟 Github 差不多
1
2
3
$ git checkout master
$ git reset --hard origin/source
$ git push -f
  • 因為只需要一個 master 了,將原始碼的分支 source 覆蓋上並強制 push
  • 此時可能會遇到 master 被保護防止被強制 push,先到 Gitlab 關閉 :

1
2
$ git branch -d source
$ git push origin --delete source
  • 接著刪除本地端與 Gitlab 用不到的分支 source

4. 新增並修改 .gitlab-ci.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
image: node:9.10.0 # 若版號差距大時,可以試試拉高版本看看gitlab支援了沒

pages:
script:
- npm install
- ./node_modules/hexo/bin/hexo clean
- ./node_modules/hexo/bin/hexo generate
artifacts:
paths:
- public
cache:
paths:
- node_modules
key: project
variables: # 因為我的主題是子模組,裡面還有一個 .git,所以需要增加這段,否則頁面會都空白
GIT_SUBMODULE_STRATEGY: recursive
only:
- master
  • 如果主題是 Git 的子模組,要加上 variables: GIT_SUBMODULE_STRATEGY: recursive 這段,否則網站頁面會都空白

5. 最後 push 上去就會自動建置部署了

  • 這樣就是成功了
tags: 實作 Hexo Blog Gitlab
Author: Kenny Li
Link: https://kennyliblog.nctu.me/2019/08/18/Hexo-blog-move-to-Gitlab/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.