環境
centos6.5
這里有官網安裝地址教程:
https://www.gitlab.com.cn/installation/#centos-6
這里有機器配置安裝需求
https://docs.gitlab.com.cn/ce/install/requirements.html
CPU
1 核心CPU最多支持100個用戶,所有的workers和后台任務都在同一個核心工作這將導致GitLab服務響應會有點緩慢。
2核心 支持500用戶,這也是官方推薦的最低標准。
4 核心支持2,000用戶。
8 核心支持5,000用戶。
16 核心支持10,000用戶。
32 核心支持20,000用戶。
64 核心支持40,000用戶。
如果想支持更多用戶,可以使用 集群式架構
Memory
安裝使用GitLab需要至少4GB可用內存(RAM + Swap)! 由於操作系統和其他正在運行的應用也會使用內存, 所以安裝GitLab前一定要注意當前服務器至少有4GB的可用內存. 少於4GB內存會導致在reconfigure的時候出現各種詭異的問題, 而且在使用過程中也經常會出現500錯誤.
1GB 物理內存 + 3GB 交換分區 是最低的要求,但我們 強烈反對 使用這樣的配置。 查看下面unicorn worker章節獲取更多建議。
2GB 物理內存 + 2GB 交換分區 支持100用戶,但服務響應會很慢。
4GB 物理內存 支持100用戶,也是 官方推薦 的配置。
8GB 物理內存 支持 1,000 用戶。
16GB 物理內存 支持 2,000 用戶。
32GB 物理內存 支持 4,000 用戶。
64GB 物理內存 支持 8,000 用戶。
128GB 物理內存 支持 16,000 用戶。
256GB 物理內存 支持 32,000 用戶。
如果想支持更多用戶,可以使用 集群式架構
安裝步驟
安裝配置依賴項
如想使用Postfix來發送郵件,在安裝期間請選擇’Internet Site’. 您也可以用sendmai或者 配置SMTP服務 並 使用SMTP發送郵件.
在 Centos 6 系統上, 下面的命令將在系統防火牆里面開放HTTP和SSH端口.
sudo yum install curl openssh-server openssh-clients postfix cronie -y
sudo service postfix start
sudo chkconfig postfix on
sudo lokkit -s http -s ssh
添加GitLab倉庫,並安裝到服務器上
curl -sS http://packages.gitlab.cc/install/gitlab-ce/script.rpm.sh | sudo bash
sudo yum install gitlab-ce
如果你不習慣使用命令管道的安裝方式, 你可以在這里下載 安裝腳本 或者 手動下載您使用的系統相應的安裝包(RPM/Deb) 然后安裝
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-XXX.rpm
rpm -ivh gitlab-ce-XXX.rpm
安裝包地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/?C=M&O=A
啟動GitLab
sudo gitlab-ctl reconfigure
- 下邊就可以訪問了:
- 重置下密碼。登錄效果如下:
配置
gitlab倉庫存儲位置的修改方法
gitlab通過rpm包安裝后,默認存儲位置在/var/opt/gitlab/git-data/repositories,通常需要更改此路徑到單獨的一個分區來存儲倉庫的數據。
例如我這里把數據存放到/data/gitlab目錄下
創建/data/gitlab目錄
mkdir -p /data/gitlab
修改gitlab配置文件,找到git_data_dir
vim /etc/gitlab/gitlab.rb
在git_data_dir下面添加一句
git_data_dir "/data/gitlab"
停止當前gitlab,重新加載配置
gitlab-ctl stop
gitlab-ctl reconfigure
重新加載后,會發現在/data/gitlab目錄下多出一個repositories目錄
最后啟動gitlab即可
gitlab-ctl start
GitLab服務器啟用https
- 修改配置文件:
sudo vim /etc/gitlab/gitlab.rb
修改為如下:
- 生成秘鑰與證書:
由於生成秘鑰與證書比較麻煩,寫成一個腳本(見附件,需改名字為ssl_genKey.sh)。出現輸入信息的地方輸入相應的信息,首先是域名/地址,后面需要輸入4次證書的密碼,密碼任意指定,但4次輸入得一致。
生成的如下:
其中圈出來的是有用的,其他的可以刪掉。
移到相應的位置:
sudo mkdir -p /etc/gitlab/ssl
sudo chmod 700 /etc/gitlab/ssl/ -R
sudo cp 172.16.4.112.crt /etc/gitlab/ssl/server.crt
sudo cp 172.16.4.112.key /etc/gitlab/ssl/server.key
- 重建配置:
sudo gitlab-ctl reconfigure
瀏覽器即可使用https訪問:
注意
-
防火牆端口訪問開啟
-
配置郵件發送郵箱
-
測試郵件發送命令
Q&A
注意事項以及異常故障排查:
-
按照該方式,我安裝了一個確實沒問題,只不過是英文版。沒有經過漢化(漢化請參考后邊的教程)。
-
默認安裝登錄需要重置root密碼。可以自己單獨設置一個復雜密碼后登錄。
-
gitlab本身采用80端口,如安裝前服務器有啟用80,安裝完訪問會報錯。需更改gitlab的默認端口。
修改vim /etc/gitlab/gitlab.rb:
external_url 'http://localhost:90'
如果就想用80端口,那沒問題。如果更改了端口,后邊可以自行調整nginx配置文件進行nginx反向代理設置。
- 這里可以綁定自己的gitlab的域名或者公網、內網IP替換localhost進行公網訪問,具體根據自己的實際情況。安全起見,一般會將gitlab部署於內網。具體部署到哪里,請根據自己的實際情況來定。(基於安全原因,這里不建議設置公網IP進行暴露,可以通過nginx設置IP綁定進行return或者其他規則進行IP回避訪問。)
本站測試gitlab地址域名為:gitlab.21yunwei.com
- unicorn本身采用8080端口,如果你那里沒有8080使用,可以后邊不用修改了。如安裝前服務器有啟用8080,安裝完訪問會報錯。需更改unicorn的默認端口:
修改 /etc/gitlab/gitlab.rb:
unicorn['listen'] = '127.0.0.1'
unicorn['port'] = 3000
-
每次重新配置,都需要執行sudo gitlab-ctl reconfigure 使之生效。
-
日志位置:/var/log/gitlab 可以進去查看訪問日志以及報錯日志等,供訪問查看以及異常排查。
gitlab-ctl tail #查看所有日志
gitlab-ctl tail nginx/gitlab_access.log #查看nginx訪問日志
使用
-
建議公司內部使用把自主注冊功能關閉
-
由管理員統一按照申請生成賬號