記自己本地安裝gitlab(CentOS7)

搭建背景

由於當前公司性質的原因,公司一直在使用SVN的方式進行項目版本控制,但是隨着公司項目的日益擴大,進行版本管理也越來越困難,因此公司項目組決定開始使用GIT來進行項目版本控制。因爲之前曾就職於一家基金公司,使用過gitlab對項目進行管理,所以有幸主導gitlab的搭建,以方便更好的進行項目的維護。以下是整個搭建過程以及遇到的坑,特此撰文以記之:

提示:本次安裝基於CentOS7,Gitlab-10.8.2

安裝之前的準備

由於gitlab的安裝包下載比較慢,使用git的克隆或wget下載漢化包非常慢,因此建議本地先下載好安裝包

 

安裝必要軟件

安裝Git

監測是否安裝過git(若出現版本號,則代表已經安裝了git,可跳過git安裝,若出現 git: command not found.  則沒有安裝過)

git --version 

由於特殊原因,請先確認linux版本

  • cetos5以及以下版本中的yum都沒有git,無法使用yum安裝
  • cetos6可以使用yum安裝git,但是安裝的git是1.7.1版本的(如果後期還需使用github,則請通過git源碼編譯的方式安裝,因爲GitHub需要的git版本最低不低於1.7.2)
  • cetos7以及以上版本的,推薦使用yum安裝,方便

使用yum方式安裝git

yum -y install git

安裝unzip,Patch(如果不需要漢化則跳過)

yum -y install zip         // 用來壓縮文件爲zip包
yum -y install unzip       // 用來解壓zip包
yum -y install patch       // 用於修補文件,漢化時用

 

安裝gitlab

安裝必須軟件

如果後期需要gitlab的郵箱功能,請在安裝Gitlab前要先安裝postfix,即使不需要也建議執行以下操作(python依賴包爲必須)

(以下操作主要安裝了ssh服務器[使git能夠以ssh方式連接gitlab],postfix,cronie,python依賴包)

yum install curl openssh-server postfix cronie 
yum -y install policycoreutils-python   // 必須安裝該依賴包

下載安裝rpm包(該步可通過網盤直接下載然後傳到linux上)

wget --content-disposition https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.8.2-ce.0.el7.x86_64.rpm/download.rpm

rpm -ivh gitlab-ce-10.8.2-ce.0.el7.x86_64.rpm

如果爲centOS6請將上述https地址改爲

https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/gitlab-ce-10.8.2-ce.0.el7.x86_64.rpm/download.rpm

安裝完成會出現gitlab的logo,如下圖所示

注:安裝完成後會出現以上文本,特別注意logo下的提示,即接下來我們只需要按照提示執行即可

GitLab was unable to detect a valid hostname for your instance
Please configure a URL for your GitLab instance by setting `external_url`
configuration in /etc/gitlab/gitlab.rb file.
Then, you can start your GitLab instance by running the following command.
  sudo gitlab-ctl reconfigure

GitLab需要爲你的實例指定一個有效的hostname,請在/etc/gitlab/gitlab.rb的配置文件中通過設置
external_url 屬性的值爲你的GitLab設置URL,然後,你可以通過運行以下命令來開啓你的GitLab實例
   sudo gitlab-ctl reconfigure
  • 修改/etc/gitlab/gitlab.rb文件
vi /etc/gitlab/gitlab.rb
  • 找到external_url屬性(在非編輯狀態下可通過 `/ external_url` 的方式直接定位到此屬性的位置,然後使用 i 切換爲編輯模式,然後修改爲自己本機的IP,如果external_url屬性前有 # 請先將其去除,也可以複製此行後再做修改
external_url 'http://192.168.2.222'
  • 激活配置並啓動GitLab實例(此步首次執行時間較長,在5分鐘左右,後續如果變更配置重啓,將會變快到1分鐘半左右,執行時間可能根據不同機器的配置而有所偏差)
gitlab-ctl reconfigure
  • 其他相關命令(上述步驟已經將gitlab實例啓動了,以下命令爲gitlab的補充命令,無需執行,可直接跳過

gitlab-ctl status       // gitlab各個組件的運行狀態
gitlab-ctl stop         // 關閉gitlab實例
gitlab-ctl start        // 開啓gitlab實例
gitlab-ctl restart      // 重啓gitlab實例
gitlab-ctl reconfigure  // 更新gitlab配置並重啓
gitlab-ctl tail         // gitlab運行過程中的實時log

Web頁面進行root用戶登錄

可通過執行以下命令查看當前的GitLab實例的版本

cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
  • gitlab 8.8版本之前默認賬號 root 密碼 5iveL!fe
  • gitlab 8.9之後登錄web界面會要求更改密碼,注意密碼最少8位!!(此次安裝的是10.8.2

如忘記密碼可在gitlab數據庫修改密碼文檔鏈接:https://blog.csdn.net/qq_40025218/article/details/81363126

此處如果是502,則請先多刷新幾次,如果一直是502,則請通過 gitlab-ctl tail 命令查看錯誤日誌或進行卸載重裝

注:如果安裝GitLab出現ruby_block[supervise_redis_sleep] action run

一般出現在卸載gitlab然後再次安裝執行sudo gitlab-ctl reconfigure的時候往往會出現:ruby_block[supervise_redis_sleep] action run,會一直卡無法往下進行!

解決方案:

  1. 按住CTRL+C強制結束;
  2. 運行:sudo systemctl restart gitlab-runsvdir;
  3. 再次執行:sudo gitlab-ctl reconfigure

注:有可能因爲某些誤操作導致頁面出現502,而不是登錄頁面,則需要卸載,卸載參考 卸載gitlab 章節


漢化gitlab

獲取gitlab漢化包

可以使用git clone的方式或通過wget下載或通過本地下載再上傳到服務器

git clone https://gitlab.com/xhang/gitlab.git

wget https://gitlab.com/xhang/gitlab/-/archive/10-8-stable-zh/10-8-stable-zh.tar.gz

 

對比文件並漢化

如果是wget下載的壓縮包或上傳的壓縮包,請提前解壓好,然後使用git生成.diff文件

cd gitlab     // 先進入gitlab目錄
git diff v10.8.2 v10.8.2-zh  > ../v10.8.2-zh.diff

將剛纔的diff文件做爲補丁導入到gitlab中(此步如果卡住或詢問是否覆蓋路回車跳過即可!)

patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 <  ../v10.8.2-zh.diff

啓動並重新配置

gitlab-ctl start   
gitlab-ctl reconfigure   // 若訪問web出現502,先多刷新幾次,如果不行,可重新執行此命令再訪問

卸載gitlab

  • 停止gitlab
gitlab-ctl stop
  • 卸載gitlab
rpm -e gitlab-ce
  • 查看gitlab進程,如果有一大堆則證明還存在gitlab進程,如果沒有則跳過殺進程的步驟
ps aux | grep gitlab
  • 殺進程
kill -9 9763                 // 9763爲gitlab的進程號(出現很多.的那個進程)

如果執行殺死進程後,使用 ps aux | grep gitlab 還有進程請用以下命令殺死所有進程

ps -ef | grep gitlab | xargs kill -s 9 
  • 刪除所有包含gitlab文件

find / -name gitlab | xargs rm -rf

 

發佈了4 篇原創文章 · 獲贊 3 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章