1. 程式人生 > 其它 >centos部署程式碼倉庫gitlab

centos部署程式碼倉庫gitlab

目錄

一.簡介

GitLab是一個利用 Ruby on Rails 開發的開源應用程式,實現一個自託管的Git專案倉庫,可通過Web介面進行訪問公開的或者私人專案。它擁有與Github類似的功能,能夠瀏覽原始碼,管理缺陷和註釋。可以管理團隊對倉庫的訪問,它非常易於瀏覽提交過的版本並提供一個檔案歷史庫。它還提供一個程式碼片段收集功能可以輕鬆實現程式碼複用,便於日後有需要的時候進行查詢。

GitLab與GitHub的不同

  • Github分散式線上程式碼託管倉庫,個人版本可直接線上免費使用,企業版本收費且需要伺服器安裝
  • Gitlab 分散式線上程式碼倉庫託管軟體,分社群免費版本與企業收費版本,都需要伺服器安裝.

Gitlab的優勢和應用場景

  • 開源免費,適合中小型公司將程式碼放置在該系統中
  • 品差異化的版本管理,離線同步以及強大分支管理功能
  • 便捷的GUI操作介面以及強大賬戶許可權管理功能
  • 整合度很高,能夠整合絕大多數的開發工具
  • 支援內建HA,保證在高併發下仍舊實現高可用性

GitLab主要服務構成

  • Nginx靜態Web伺服器
  • Gitlab-workhorse 輕量級的反向代理伺服器
  • Gitlab-shell 用於處理Git命令和修改authorized keys列表
  • Logrotate 日誌檔案管理工具
  • Postgresql資料庫
  • Redis 快取伺服器

GitLab的工作流程

  • 建立並克隆專案
  • 建立專案某Feature分支
  • 編寫程式碼並提交至該分支
  • 推送改專案分支至遠端Gitlab伺服器
  • 進行程式碼檢查並提交Master主分支合併申請
  • 專案領導審查程式碼並確認合併申請

二.程式部署

部署gitlab

注意: gitlab需要4g記憶體支援

1.配置gitlab源
vim /etc/yum.repos.d/gitlab_gitlab-ce.repo

[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1

2.安裝gitlab的依賴項
yum install -y curl policycoreutils-python openssh-server

3.啟動postfix,並設定為開機啟動
systemctl start postfix
systemctl enable postfix

4.設定防火牆 (如果未使用防火牆可以跳過)
firewall-cmd --add-service=http --permanent
systemctl reload firewalld

5.獲取gitlab的rpm包
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.2-ce.0.el7.x86_64.rpm

6.安裝rpm包
rpm -i gitlab-ce-10.0.2-ce.0.el7.x86_64.rpm

7.執行指令配置gitlab
gitlab-ctl reconfigure

8.修改配置檔案gitlab.rb,將external_url變數的地址修改為gitlab所在centos的ip地址。
vim /etc/gitlab/gitlab.rb

因為修改了配置檔案,故需要重新載入配置內容。
gitlab-ctl reconfigure
gitlab-ctl restart

9.檢視gitlab版本
head -1 /opt/gitlab/version-manifest.txt

漢化gitlab

1.安裝git
yum install -y git

2.克隆獲取漢化版本庫,下載最新的漢化包
git clone https://gitlab.com/xhang/gitlab.git

如果是要下載老版本的漢化包,需要加上老版本的分支,比如今天已經是10.0.4,我依舊想下載10.0.2,可以執行下面的語句
git clone https://gitlab.com/xhang/gitlab.git -b v10.0.2-zh

3.檢視該漢化補丁的版本
cat gitlab/VERSION

4.停止gitlab服務
gitlab-ctl stop

5.切換到gitlab漢化包所在的目錄(即步驟二獲取的漢化版gitlab)
cd /root/gitlab

6.比較漢化標籤和原標籤,匯出 patch 用的 diff 檔案到/root下
git diff v10.0.2 v10.0.2-zh > ../10.0.2-zh.diff

7.回到/root目錄
cd /root

8.將10.0.2-zh.diff作為補丁更新到gitlab中
yum install patch -y
patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < 10.0.2-zh.diff

9.啟動gitlab
gitlab-ctl start

10.重新配置gitlab
gitlab-ctl reconfigure

三.設定管理員密碼

管理員賬號登入的使用者名稱:root(雖然登入後管理員的使用者名稱為Administrator,但是實際登入的使用者名稱是root)

網頁方式

瀏覽器訪問gitlab所在的ip,輸入密碼後點擊 “Change your password”(如果進行漢化,點選“修改密碼”)。

指令方式

執行命令
gitlab-rails console production

稍等一會後會出現

irb(main):001:0> user = User.where(id: 1).first // id為1的是超級管理員
irb(main):002:0>user.password = 'yourpassword' // 密碼必須至少8個字元
irb(main):003:0>user.save! // 如沒有問題 返回true
exit // 退出

本文版權歸作者所有,歡迎轉載,請務必新增原文連結。