現在Git版控非常的流行,而很多人都使用GitHub來放repository,可是在GitHub上只有public的專案是免費的,private的專案是需要另外收費的,雖然其他也有別家有提供private方案,但是幾乎都有數量限制,這邊推薦gitlab來使用,官方有提供無限制private repository的數量,或者是不想要使用官方的gitlab server也可以自己架設Gitlab在自己的主機上面,本篇教學如何在自己的主機上安裝gitlab。
※官方建議最低RAM至少要2GB 如果伺服器記憶體不到2GB建議不要安裝 很容易啟動過程發生502或500錯誤 (尤其是要跑ci的時候)
本篇以ubuntu來做範例,如果是別的作業系統的安裝方法可以參考官方網站安裝教學:https://about.gitlab.com/installation/
因為git在連線時需要使用ssh連線進行安全性驗證 所以需要openssh-server ca-certificates
另外gitlab支援寄信通知或是驗證功能所以需要信箱伺服器支援需要postfix
而curl是安裝時所需要使用到
首先安裝curl openssh-server ca-certificates postfix
輸入指令安裝curl openssh-server ca-certificates postfix
sudo apt-get install curl openssh-server ca-certificates postfix tzdata
等安裝完畢之後 就可以下載與安裝GitLab package server
先輸入指令
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
之後再輸入指令
sudo apt-get install gitlab-ce
當安裝完畢後,需配置gitlab的環境,輸入指令:
sudo gitlab-ctl reconfigure
預設gitlab會安裝在80 port 假如80 port已經被佔用,可以修改port (不需要可略過)
輸入指令修改/etc/gitlab/gitlab.rb
sudo nano /etc/gitlab/gitlab.rb
可以在裡面找到external_url
將其修改成自己的url與想要的port
例如:
external_url 'http://10.0.2.15:81'
修改完後重新配置gitlab環境
sudo gitlab-ctl reconfigure
然後使用瀏覽器開啟網頁
第一次進去時會需要設定root帳號的密碼
設定完後就可以登入
預設管理員帳號為root 密碼則是剛剛設定的密碼
登入後就看到類似於於以下的畫面
管理員可以點選右上方的板手icon進入管理員頁面
管理員帳號可以查看所有的專案以及查看有哪些會員
而一些基本設定可以在管理員頁面 點選右上方的齒輪按鈕 -> Settings 中設定
其中可以設定是否開放註冊,一個人repository之後相關設定 以及其他的設定
使用起來跟GitHub非常的像 可以透過網頁進行開新專案 fork別人的專案 以及送merge request給其他人 還有使用readme.md來寫專案的說明
另外gitlab有提供一個 gitlab ci功能,可以用在很多的地方
例如:當code push上伺服器時,可以自動化的執行unittest,當unittest成功通過後自動deploy之類相關功能