# [實作] 將 Hexo blog 搬家到 Gitlab * 因為 Gitlab 可以設定自動建置與部屬,所以就被吸引搬家過去啦 ### 1. 在 Gitlab 上新建 Project  * 新建 Project  * Project 名稱輸入 : `<Gitlab 帳號>.gitlab.io` * 建議用私人 ( Private ) ### 2. 建立 SSH 連線 * 跟 Github 一樣,如果想同時擁有 Github 與 Gitlab 的連線可以參考 : [同一部電腦管理 Github 與 Gitlab SSH keys](https://kennyliblog.nctu.me/2019/08/18/Have-SSH-keys-with-Github-and-Gitlab/) ### 3. 將本地端項目加到 Gitlab ```shell= $ 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 差不多 ```shell= $ git checkout master $ git reset --hard origin/source $ git push -f ``` * 因為只需要一個 `master` 了,將原始碼的分支 `source` 覆蓋上並強制 push * 此時可能會遇到 `master` 被保護防止被強制 push,先到 Gitlab 關閉 :  ```shell= $ git branch -d source $ git push origin --delete source ``` * 接著刪除本地端與 Gitlab 用不到的分支 `source` ### 4. 新增並修改 `.gitlab-ci.yml` ```yaml= 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`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up