超簡單,用 gitlab 自架一個像 github 的平台

gitlab 是一套開放原始碼專案,使用 ruby on rails 開發的 git 管理平台,簡單來說,就如大家常見的 github 那樣,可以由 web 介面管理 git server ,寫 issue, wiki , milestone , web hooks 都有,而且不用做太繁雜的設定就可以自動架起一個具備 https 及 ssh 傳輸的 git server。如果再搭配 gitlab ci 還可以做到自動化測試呢。

不多說,直接來。

安裝環境說明

gitlab 有兩個版本, GitLab Community Edition (CE) 及 GitLab Enterprise Edition (EE),CE 版就是 Free 的,我們這裡就介紹 gitlab-ce 架設的方式,官方網站已經提供了 CentOS/Debian/Ubuntu 的直接安裝套件,我就介紹我比較熟的 CentOS 6 環境了。

我是使用 openvz 的虛擬化技術建議至少配置 2G ,因為官方是這麼建議的,我個人裝完之後也發現至少會吃掉 800MB RAM,也挺恐怖的。

安裝步驟

官方網站已經提供了下載 rpm 的安裝方式 , 基本上照上面網址下載對應的 OS 版本就會顯示出安裝方法,我這邊就是以 CentOS 6 為範例,最好弄個乾淨的 CentOS 專門做原始碼控管伺服器,中途不需安裝 git , ruby 或 web server 了,因為官方提供的有整合了大部分的套件(nginx,ruby & rails , git , redis , postgresql ...)。

前置工作我會先把 httpd 移除,因為 gitlab 已經有內建 nginx,而且預設 port 是 80,為了能順利安裝就先移掉了,然後依照官方提供的安裝方式繼續安裝。

下載 gitlab 並用以下方式安裝

curl -O https://downloads-packages.s3.amazonaws.com/centos-6.5/gitlab-7.2.1_omnibus-1.el6.x86_64.rpm
sudo yum install openssh-server
sudo yum install postfix
sudo service postfix start
sudo chkconfig postfix on
sudo rpm -i gitlab-7.2.1_omnibus-1.el6.x86_64.rpm

修改設定檔

vi /etc/gitlab/gitlab.rb

這個設定檔的內容,裡面有一行 external_url 的設定改成要對外開放 web 的 url ,例如我只想內部使用也許改成  http://192.168.0.10 這樣子。

安裝並執行 gitliab

sudo gitlab-ctl reconfigure
sudo lokkit -s http -s ssh

如果上述命令沒有 lokkit,可以自己用 yum install lokkit 安裝。事實上 lokkit 也只是設定 iptables 把 http 和 ssh 打開,如果原本就有開了也不用執行或手動自己設定 iptables 也可以。

如果一切順利,以上述我設定的 external_url 的網址,由流覽器打開 http://192.168.0.10 應該就如下圖的網站畫面出現了。

gitlab

這時候輸入預設的帳號及密碼就可以登入

  • 帳號 : root
  • 密碼 : 5iveL!fe

恭喜,這樣就安裝完畢了,完全不用自己搞 git server 和 web server 超簡單的。

而且 github 有的功能,gitlab 幾乎都有,在網站介面中可以自己創建 user 多人使用,可以 ssh or http 傳輸,可以寫 issue , 寫 markdown 語法的 wiki,簡直就和 github 一樣嘛。

補充

  1. 若要停止 gitlab,可以輸入 gitlab-ctl stop,若要啟動就執行 gitlab-ctl start
  2. gitlab 存放所有資料的地方是 /var/opt/gitlab,若要備份可以針對此目錄備,不過官方網站有介紹正規的方法來備份比較保險,否則就要先停止 gitlab 然後再備份。

 

發佈留言