最后更新于 2021.6.25
前言
其實網(wǎng)上已經(jīng)有很多安裝 GitLab 的步驟說明文檔,但由于并不是非常適用我的實際情況,一方面是把自己的實際情況分享出來,同時也是因為在前端工作了幾年,從沒正式記錄過自己,也算是一個小小的改變叭~
云服務(wù)器的選擇
恰逢雙11,熊、貓、鵝各大廠云服務(wù)都有不小的優(yōu)惠,最后選擇鵝廠,因為........
這次的安裝算是踩了不小的坑,我在熊廠和鵝廠的云服務(wù)都是新用戶,這次先試試鵝廠的。
另一個原因,在我選擇的價位下,熊廠和鵝廠的云服務(wù)器都是 100% 的 CPU 性能,而貓廠普遍是 10%~20%,不過不清楚 CPU 基準型號,有了解的歡迎指正......
u1s1,企業(yè)級應(yīng)用,還是建議優(yōu)先上貓廠,個人玩玩那就隨意
初步選定鵝廠云,注冊后也送了15天的 1C1G,我也是掉進了這個坑里,差點沒出來?。?!
1C1G 的歷程
需要說明的是,這里的步驟也參考了網(wǎng)上的教程,這里算是一個總結(jié)
1. 更新軟件包
yum update -y
2. 安裝 sshd
// 安裝
yum install -y curl policycoreutils-python openssh-server
// 開啟用使用 sshd
systemctl enable sshd
systemctl start sshd
3. 配置 swap 交換分區(qū)
因為之前有了解過,gitlab 對內(nèi)存有一定要求,這里的1G顯然不滿足使用,故增加2G虛擬內(nèi)存
swapfile 是文件名,可以自定義
// 新建虛擬內(nèi)存
dd if=/dev/zero of=/root/swapfile bs=1M count=2048
// 格式化為交換分區(qū)文件并啟用
mkswap /root/swapfile
swapon /root/swapfile
4. 安裝 gitlab
// 添加 gitlab 軟件包到倉庫
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
// 安裝 gitlab
sudo EXTERNAL_URL="實例公網(wǎng) IP 地址" yum install -y gitlab-ce
順利的話你能看到這么一張圖片,代表你成功了;但,是事情往往并不會這么順利
在使用 1C1G 安裝的過程中,遇到多次卡住、失敗的情況,折騰好久都是 502,后來想想大概都是因為內(nèi)存不足導(dǎo)致的,最后還是上了 2C4G;建議最低上 1C2G 的配置**
配置項修改(非必要)
如果你訪問 IP 遇到了 502 錯誤,一般有兩個原因:內(nèi)存不足 or 端口沖突
1. 內(nèi)存不足
增加虛擬內(nèi)存的方法,見上方 ==> 配置 swap 交換分區(qū)
2. 修改默認端口
step 1
// 關(guān)閉gitlab服務(wù)
gitlab-ctl stop
step 2
// 打開vim編輯模式
vi /etc/gitlab/gitlab.rb
// 修改下面參數(shù)
原:#unicorn['port'] = 8080 修改 8070 默認是注釋的去掉前面的#
新:unicorn['port'] = 8070
原:#unicorn['port'] = 8080 修改 8070 默認是注釋的去掉前面的#
新:nginx['listen_port'] = 8090
// 按 i 進入編輯,編輯完成后按 ESC 退出編輯,最后再按 :wq 保存并退出 vim
step 3
// 再次進入vim,修改配置文件
vi /var/opt/gitlab/gitlab-rails/etc/unicorn.rb
// 此文件如果為空,則為新建
listen "127.0.0.1:8070", :tcp_nopush => true
step 4
// 修改gitlab nginx端口
vim /var/opt/gitlab/nginx/conf/gitlab-http.conf
原:#listen *:80
新:listen *:8090
step 5
// 使配置生效
gitlab-ctl reconfigure
step 6
// 重啟gitlab服務(wù)
gitlab-ctl restart
or
gitlab-ctl start
3. 配置 GitLab 的域名
// 打開配置文件
vi /etc/gitlab/gitlab.rb
// 修改
external_url 'http://your.domain.xxx'
// 也可以是公網(wǎng)ip地址
4. 安裝 postfix
step 1
// 安裝軟件包
yum install -y postfix
step 2
// 啟用并打開服務(wù)
systemctl enable postfix
systemctl start postfix
5. 配置防火墻
step 1
// 進入配置文件
vi /etc/sysctl.conf
step 2
// 啟用并打開服務(wù)
systemctl enable firewalldsystemctl start firewalld
step 3
// 允許 http 通行; 也可以添加端口firewall-cmd --permanent --add-service=http// 關(guān)閉防火墻
systemctl stop firewalld.service
step 4
// 重啟防火墻
systemctl reload firewalld
坑點注意
在實際安裝過程中,盡管配置了swap虛擬內(nèi)存,也修改了默認端口,但訪問時仍會報 502。左思右想,買了個 2C4G 的服務(wù)器,這次安裝一步到位,都不需要配 swap,直接就出現(xiàn)了小狐貍頭;或許這意味著入門服務(wù)器最低可能都要 1C2G 了。
后記
后續(xù),打算再搞個發(fā)送郵件和 ci/cd 自動化,還在研究,第二篇見啦
不要問我一個前端為啥折騰這些玩意,問就是折騰~
如果有錯誤的地方,煩請大佬給予指正~
修改了一些主觀用語