【Git】 GitLab服務器社區版安裝與配置


GitLab簡介

  GitLab 是一個用於倉庫管理系統的開源項目,使用Git作為代碼管理工具,並在此基礎上搭建起來的web服務

GitLab系統架構

  當~git在圖片中引用時,它表示git用戶的主目錄,通常是/ home / git。

  GitLab主要以/home/git用戶身份安裝在用戶主目錄中git在主目錄中是gitlabhq服務器軟件所在的位置以及存儲庫(盡管存儲庫位置是可配置的)。

  裸存儲庫位於/home/git/repositoriesGitLab是一個ruby on rails應用程序,因此可以通過研究ruby on rails應用程序的工作原理來學習內部工作的細節。

  為了通過SSH提供存儲庫,有一個名為gitlab-shell的附加應用程序,它安裝在/home/git/gitlab-shell

  組件

  

  1、repository:代碼庫,可以是硬盤或 NFS 文件系統

  2、Nginx:Web 入口

  3、數據庫:包含以下信息:
    a、repository 中的數據(元數據,issue,合並請求 merge request 等)
    b、可以登錄 Web 的用戶(權限)

  4、Redis:緩存,負責分發任務

  5、sidekiq:后台任務,主要負責發送電子郵件。任務需要來自 Redis

  6、Unicorn:Gitlab 自身的 Web 服務器,包含了 Gitlab 主進程,負責處理快速/一般任務,與 Redis 一起工作。工作內容包括: 
    a、通過檢查存儲在 Redis 中的用戶會話來檢查權限
    b、為 Sidekiq 制作任務
    c、從倉庫(warehouse)取東西或在那里移動東西

  7、gitlab-shell:用於 SSH 交互,而不是 HTTP。gitlab-shell 通過 Redis 與 Sidekiq 進行通信,並直接或通過 TCP 間接訪問 Unicorn

  8、gitaly:后台服務,專門負責訪問磁盤以高效處理 git 操作,並緩存耗時操作。所有的 git 操作都通過 Gitaly 處理

  9、gitlab-workhorse:反向代理服務器,可以處理與 Rails 無關的請求(磁盤上的 CSS、JS 文件等),處理 Git Push/Pull 請求,處理到 Rails 的連接(修改由 Rails 發送的響應或發送給 Rails 的請求,管理 Rails 的長期 WebSocket 連接等)。

  10、mail_room:處理郵件請求。回復 GitLab 發出的郵件時,GitLab 會調用此服務

  Sidekiq、Unicorn 和 GitLab-shell 是 GitLab 中處理任務的 3 個程序。

  GitLab 應用程序是上述所有組件的集合。

GitLab社區版安裝

  環境:CentOS 7.4

  內存:2G

  版本:社區版 gitlab-ce-11.3.12-ce.0.el7.x86_64.rpm
      

  1、安裝必要的依賴項,還將在系統防火牆中打開HTTP和SSH訪問

    安裝命令:sudo yum install -y curl policycoreutils-python openssh-server

    激活命令:sudo systemctl enable sshd

    啟用命令:sudo systemctl start sshd

    防火牆命令:sudo firewall-cmd --permanent--add-service=http

           sudo systemctl reload firewalld 

  2、安裝Postfix以發送通知電子郵件

    安裝命令:sudo yum install postfix

    激活命令:sudo systemctl enable postfix

    啟用命令:sudo systemctl start postfix

  3、下載GitLab軟件包(社區版),地址:https://packages.gitlab.com/gitlab/gitlab-ce

  4、安裝GitLab軟件包

    命令:rpm -ivh gitlab-ce-11.3.12-ce.0.el7.x86_64.rpm

    

    查看gitlab相關目錄,命令:find / -name gitlab

    

    目錄結構

      • /opt/gitlab/   ## 主目錄 
      • /etc/gitlab/   ## 放置配置文件 
      • /var/opt/gitlab/   ## 各個組件 
      • /var/log/gitlab/   ## 放置日志文件
      • /var/opt/gitlab/git-data/repositories   ##數據庫的地址  
      • /var/opt/gitlab/postgresql/data   #gitlab組和項目的地址

    gitlab配置文件/etc/gitlab/gitlab.rb

  5、初始化gitlab,命令:gitlab-ctl reconfigure

    

  6、啟動gitlab

    啟動命令:gitlab-ctl start

    停止命令:gitlab-ctl stop

    重啟命令:gitlab-ctl restart

    安裝后,已經自動安裝成開機啟動服務

    服務啟動命令:systemctl start gitlab-runsvdir.service

    服務停止命令:systemctl stop gitlab-runsvdir.service

    服務重啟命令:systemctl restart gitlab-runsvdir.service

    服務開機啟動命令:systemctl enable gitlab-runsvdir.service

    取消開機啟動命令:systemctl disable gitlab-runsvdir.service

    服務查看命令:systemctl list-unit-files

  8、在瀏覽器使用ip地址進行訪問,默認端口80,地址:http://ip,首次訪問用戶名是root,需要設置密碼

    

    注意:啟動后,訪問可能出現502,可能是內存的原因,gitlab非常消耗內存(本例內存2g)

    

  9、設置完root用戶的密碼后,自動跳轉到等路界面,使用root/password(password新設置的密碼)

    

  10、登陸成功,主頁

    

    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM