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 // 退出
本文版權歸作者所有,歡迎轉載,請務必新增原文連結。