低配置伺服器安裝GitLab

2021-10-10 01:25:13 字數 2961 閱讀 1885

在記憶體爆掉,重啟伺服器,停止服務,十幾次嘗試後終於愉快的讓gitlab執行了起來

gitlab是乙個提供**託管、提交審核和問題跟蹤的**管理平台。可以理解為github的私服版作為自用或者公司內部的**管理平台。

建議伺服器最低配置:

網上對配置有很多說法,有的說3gb記憶體可以勉強跑起來,有的說至少給gitlab分4gb記憶體,學生黨的2gb根本沒法看啊,一開始不知道這麼吃記憶體,每次一安裝完就卡死,還以為安裝流程有問題,經過很多嘗試終於在自己可憐的學生伺服器上執行起來了。

postfix用來傳送通知電子郵件,在postfix安裝期間,可能會出現配置螢幕。選擇「internet site」並按enter鍵。使用伺服器的外部dns作為「郵件名稱」,然後按enter鍵。如果出現其他螢幕,請繼續按enter鍵接受預設值。(我只按回車了,並不影響安裝)

sudo

apt-get

install -y postfix

curl -ss  |

sudo

bash

tip:gitlab-ce是免費的社群版,gitlab-ee是付費的企業版

下面my ip address改為為gitlab設定的url,比如(https://伺服器外網位址或繫結的網域名稱:埠)

這裡配置如果夠,就可以訪問https://my ip address進入gitlab管理頁面了,可以跳轉到《執行以後》

如果配置不夠,3分鐘gitlab所有服務執行以後,記憶體就應該爆掉了,停止gitlab後,進行優化

下面命令只有gitlab在執行的時候才會起作用,不執行的時候會返回fail,記憶體爆掉也會不響應

sudo gitlab-ctl stop
如果記憶體爆掉輸入命令沒有響應,只能重啟以後在gitlab沒有完全撐爆記憶體的時候執行

修改配置檔案

sudo

vi /etc/gitlab/gitlab.rb

刪除#號取消以下設定的注釋,並修改引數
tip:vi編譯器中搜尋的方法: 命令模式下,輸入/字串,按下回車,得到搜尋的結果,按n鍵切換搜尋結果

1.減少程序數,修改worker_processes:

官方建議cpu核心數加一,最小值是2

unicorn[

'worker_processes'

]= 2

2.減少資料庫快取

可適當改小

postgresql[

'shared_buffers']=

"256mb"

3.減少資料庫併發數

可適當改小

postgresql[

'max_worker_processes'

]= 8

4.減少sidekiq併發數

可適當改小

sidekiq[

'concurrency'

]= 25

swap分割槽在系統的物理記憶體不夠用的時候,把硬碟記憶體中的一部分空間釋放出來,以供當前執行的程式使用。那些被釋放的空間可能來自一些很長時間沒有什麼操作的程式,這些被釋放的空間被臨時儲存到swap分割槽中,等到那些程式要執行時,再從swap分割槽中恢復儲存的資料到記憶體中。

建立乙個連續空間

dd if=/dev/zero of=/data/swap bs=512 count=8388616
建立swap分割槽

mkswap /data/swap
啟動swap分割槽

swapon /data/swap
在/etc/fstab檔案中記錄檔案的名字,使系統重啟後,swap依然有效
echo 「/data/swap swap swap defaults 0 0」 >> /etc/fstab
檢視swap分割槽是否啟動
cat /proc/swaps

sudo gitlab-ctl reconfigure
sudo gitlab-ctl start
利用free -m檢視記憶體發現,gitlab在執行服務的時候就已經占用2.47g的記憶體了

啟動服務3分鐘以後

1.訪問ip address登入控制頁面

2.首次登陸強制更改密碼,輸入密碼和確認密碼

3.到達登入介面

啟動以後502

【解決方案】

1.啟動服務以後等待幾分鐘再訪問

2.修改衝突的埠號

3.記憶體不足導致一些服務崩了,用優化方法優化

執行感覺不是很流暢

換成谷歌或者火狐瀏覽器會感覺好很多

gitlab取消註冊,只允許管理員新增

配置gitlab伺服器的git hooks 鉤子

需求是本地開發分支develop推到遠端倉庫後自動部署測試伺服器。看很多文章,講的非常複雜。都沒講清楚架構情況。我們的架構是,多台本地開發機器,一台伺服器,伺服器上跑著測試程式和gitlab。這邊文章解決的是測試端和git遠端倉庫在一台機器上的情況,如果是測試程式和gitlab各自一台伺服器,那比較...

配置gitlab伺服器的git hooks 鉤子

root是某個gitlab使用者 git是 專案的git倉庫根目錄 在gitlab裡 目錄 var opt gitlab git data repositories root git hooks 是乙個連線指向 opt gitlab embedded service gitlab shell hoo...

GitLab 配置伺服器 SSH 許可權

公司的專案使用 gitlab 管理遠端 git 庫,為了實現 ci cd 需要在伺服器上對 git 庫進行 clone pull 甚至是 push 操作,公司 gitlab 通過 ssh 的方式實現認證,就需要把伺服器的 ssh 公鑰配置到 gitlab 中,實踐過程中遇到的一些坑在這分享一下 找到...