gitlab的使用

前一篇文章我們已經知道Git人人都是中心,那他們怎么交互數據呢?

????????? 使用GitHub或者碼云等公共代碼倉庫

????????? 使用GitLab私有倉庫

目錄

一、安裝配置gitlab

安裝

初始化

這里初始化完成以后需要記住一個初始密碼

查看狀態

二、使用瀏覽器訪問,進行web界面操作

三、gitlab 命令行修改密碼

四、gitlab服務管理

五、公司的開發代碼提交處理流程

六、Gitlab 備份與恢復

1、查看系統版本和軟件版本

2、數據備份

3、測試數據恢復

(1) 安裝部署 gitlab server

(2) 恢復 gitlab


一、安裝配置gitlab

安裝

安裝依賴,并啟動ssh、防火墻開啟相應端口、postfix
yum install -y curl policycoreutils-python openssh-server perl
gitlab版本選擇地
Index of /gitlab-ce/yum/el7/ | 清華大學開源軟件鏡像站 | Tsinghua Open Source Mirror選擇對應的版本安裝動
 yum install gitlab-jh-16.0.3-jh.0.el7.x86_64.rpm

? 安裝完成后他會自動啟動?

初始化

vim /etc/gitlab/gitlab.rb#找到下行并修改自己的ip
external_url 'http://10.12.153.72'  
執行下面的初始化命令
gitlab-ctl reconfigure

這里初始化完成以后需要記住一個初始密碼

cat /etc/gitlab/initial_root_password

查看狀態

 gitlab-ctl status
 

二、使用瀏覽器訪問,進行web界面操作

輸入賬號密碼登錄

登陸以后我們首先修改為中文,點擊頭像,點擊參數中設置

選擇中文后提交并刷新頁面

這樣看來就一目了然了哈

三、gitlab 命令行修改密碼

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                                                # 退出

四、gitlab服務管理

gitlab-ctl start ? ? ? ? ? ? ? ? ? ? ?  # 啟動所有 gitlab 組件;
gitlab-ctl stop ? ? ? ? ? ? ? ? ? ? ? ? # 停止所有 gitlab 組件;
gitlab-ctl restart ? ? ? ? ? ? ? ? ? ?  # 重啟所有 gitlab 組件;
gitlab-ctl status ? ? ? ? ? ? ? ? ? ? ? # 查看服務狀態;
gitlab-ctl reconfigure ? ? ? ? ? ? ? ?  # 啟動服務;
vim /etc/gitlab/gitlab.rb ? ? ? ? ? ? ? # 修改默認的配置文件;
gitlab-ctl tail ? ? ? ? ? ? ? ? ? ? ? ? # 查看日志

五、公司的開發代碼提交處理流程

????????PM(項目主管/項目經理)在gitlab創建任務,分配給開發人員 開發人員領取任務后,在本地使用git clone拉取代碼庫 開發人員創建開發分支(git checkout -b dev),并進行開發 開發人員完成之后,提交到本地倉庫(git commit ) 開發人員在gitlab界面上申請分支合并請求(Merge request) PM在gitlab上查看提交和代碼修改情況,確認無誤后,確認將開發人員的分支合并到主分支(master) 開發人員在gitlab上Mark done確認開發完成,并關閉issue。這一步在提交合并請求時可以通過描述中填寫"close #1"等字樣,可以直接關閉issue

六、Gitlab 備份與恢復

1、查看系統版本和軟件版本
cat /etc/redhat-release 
CentOS Linux release 7.3.1611 (Core) 
?
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
8.15.4
2、數據備份

打開/etc/gitlab/gitlab.rb配置文件,查看一個和備份相關的配置項:

gitlab_rails['backup_path'] = "/data/gitlab/backups"

該項定義了默認備份出文件的路徑,可以通過修改該配置,并執行 gitlab-ctl reconfigure 或者 gitlab-ctl restart 重啟服務生效。

執行備份命令進行備份

/opt/gitlab/bin/gitlab-rake gitlab:backup:create 

也可以添加到 crontab 中定時執行:

0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create

可以到/data/gitlab/backups找到備份包,解壓查看,會發現備份的還是比較全面的,數據庫、repositories、build、upload等分類還是比較清晰的。

設置備份保留時常,防止每天執行備份,肯定有目錄被爆滿的風險,打開/etc/gitlab/gitlab.rb配置文件,找到如下配置:

gitlab_rails['backup_keep_time'] = 604800

設置備份保留7天(7360024=604800),秒為單位,如果想增大或減小,可以直接在該處配置,并通過gitlab-ctl restart 重啟服務生效。

備份完成,會在備份目錄中生成一個當天日期的tar包。

3、測試數據恢復
(1) 安裝部署 gitlab server

具體步驟參見上面:gitlab server 搭建過程

(2) 恢復 gitlab

打開/etc/gitlab/gitlab.rb配置文件,查看一個和備份相關的配置項:

gitlab_rails['backup_path'] = "/data/gitlab/backups"

修改該配置,定義了默認備份出文件的路徑,并執行 gitlab-ctl reconfigure 或者 gitlab-ctl restart 重啟服務生效。

恢復前需要先停掉數據連接服務:

gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

如果是臺新搭建的主機,不需要操作,理論上不停這兩個服務也可以。停這兩個服務是為了保證數據一致性。將老服務器/data/gitlab/backups目錄下的備份文件拷貝到新服務器上的/data/gitlab/backups

rsync -avz 1530773117_2019_03_05_gitlab_backup.tar 192.168.95.135:/data/gitlab/backups/ 

注意權限:600權限是無權恢復的。 實驗環境可改成了777,生產環境建議修改屬主屬組

 pwd
/data/gitlab/backupschmod 777 1530773117_2019_03_05_gitlab_backup.tar 
???????ll
total 17328900
-rwxrwxrwx 1 git git 17744793600 Jul  5 14:47 1530773117_2018_07_05_gitlab_backup.tar

執行下面的命令進行恢復:后面再輸入兩次yes就完成恢復了。

gitlab-rake gitlab:backup:restore 
???????BACKUP=1530773117_2018_07_05_gitlab_backup.tar

恢復完成后,啟動剛剛的兩個服務,或者重啟所有服務,再打開瀏覽器進行訪問,發現數據和之前的一致:

gitlab-ctl start unicorngitlab-ctl start sidekiq或gitlab-ctl restart

注意:通過備份文件恢復gitlab必須保證兩臺主機的gitlab版本一致,否則會提示版本不匹配

希望能夠幫助到大家!!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/697244.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/697244.shtml
英文地址,請注明出處:http://en.pswp.cn/news/697244.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Math方法,以及三角函數計算

abs(x) 返回參數的絕對值 var xMath.abs(-5) //5floor(x) 向下舍入為最接近的整數。 var xMath.floor(2.1) //2ceil(x) 向上舍入為最接近的整數。 var xMath.ceil(2.1) //3fround(x) 最接近的(32 位單精度)浮點表示。 var xMath.fround(2.60) //2.59…

小凡爬樓梯

解法&#xff1a; dp[i]:到第i階梯&#xff0c;總共dp[i]種方案 狀態轉移方程&#xff1a; base condition: #include<iostream> #include<vector> #include<algorithm> using namespace std; #define endl \n int main() {vector<long long> dp(51…

js數據處理util

方法匯總 據時間范圍生成時間刻度數據 /**params startDate 開始時間*params endDate 結束時間*params timeUnit 時間間隔,注意是毫秒數**/function createTimeUnitListByTimeRange(startDate, endDate, timeUnit){let startSeconds new Date(startDate).getTime();let endS…

【前綴和】560. 和為 K 的子數組

560. 和為 K 的子數組 解題思路 創建一個前綴和數組 preSum&#xff0c;其長度比原數組 nums 多 1。preSum[i] 表示 nums 中前 i 個元素的和。通過遍歷 nums 數組&#xff0c;計算前綴和數組 preSum。 在嵌套的兩個循環中&#xff0c;對所有可能的子數組進行窮舉&#xff1a;…

板塊一 Servlet編程:第四節 HttpServletResponse對象全解與重定向 來自【湯米尼克的JAVAEE全套教程專欄】

板塊一 Servlet編程&#xff1a;第四節 HttpServletResponse對象全解與重定向 一、什么是HttpServletResponse二、響應數據的常用方法三、響應亂碼問題字符流亂碼字節流亂碼 四、重定向&#xff1a;sendRedirect請求轉發和重定向的區別 在上一節中&#xff0c;我們系統的學習了…

學習C++,你不能錯過這4個編程軟件

作為一門起源比較早的編程語言&#xff0c;C應用的范圍非常廣&#xff0c;編程軟件自然也非常多。今天小編給大家簡單介紹4個不錯的C編程軟件&#xff0c;感興趣的小伙伴可以去嘗試一下。 1、visual studio Microsoft visual studio community 15/17(一般簡稱vs)&#xff0c;…

jdwp-event command Set

Event Command Set (64) Composite (100) 事件命令集 (64) 復合命令 (100) 目標虛擬機中的給定時間可能會發生多個事件。 例如&#xff0c;給定位置可能有多個斷點請求&#xff0c;或者您可能單步執行到與斷點請求相同的位置。 這些事件作為復合事件一起傳遞。 為了統一&#x…

redis:數據傾斜是什么?怎么應對熱點數據?

要知道什么是數據傾斜就的搞清楚redis是怎么存儲和訪問數據的。數據會按照一定的規則分布到不同槽上&#xff0c;然后槽又落在不同的機器節點上。比如把key進行crc16函數計算后的值對槽取模&#xff0c;然后槽會分配到不同的節點上。然后存取都會到對應的節點上去進行處理。 傾…

黑色金屬冶煉5G智能工廠數字孿生可視化管控系統,推進金屬冶煉行業數字化轉型

黑色金屬冶煉5G智能工廠數字孿生可視化管控系統&#xff0c;推進金屬冶煉行業數字化轉型。隨著科技的不斷發展&#xff0c;數字化轉型已經成為各行各業發展的必然趨勢。金屬冶煉行業作為傳統工業的重要組成部分&#xff0c;也面臨著數字化轉型的挑戰和機遇。為了推進金屬冶煉行…

在 Windows 上使用 VC++ 編譯 OpenSSL 源碼的步驟

在 Windows 上使用 VC 編譯 OpenSSL 源碼的步驟如下&#xff1a; 準備工作 安裝 Visual Studio 2017 或更高版本。安裝 Perl 腳本解釋器。安裝 NASM 匯編器。 編譯步驟 下載 OpenSSL 源碼。解壓 OpenSSL 源碼。打開命令行工具&#xff0c;并進入 OpenSSL 源碼目錄。運行以下…

Sublime text 3 配置

1.下載 打開官網鏈接&#xff1a;Download - Sublime Text或者去百度軟件中心搜索sublimeText3&#xff08;根據自己的實際情況下載對應的版本&#xff09; 2.安裝&#xff1a; 雙擊上一步下載下來的“Sublime Text Build 3083 x64 Setup.exe”&#xff0c;記得選擇“Add to…

IT資訊——全速推進“AI+鴻蒙”戰略布局!

文章目錄 每日一句正能量前言堅持長期研發投入全速推進“AI鴻蒙”戰略 人才戰略新章落地持續加碼核心技術生態建設 后記 每日一句正能量 人總要咽下一些委屈&#xff0c;然后一字不提的擦干眼淚往前走&#xff0c;沒有人能像白紙一樣沒有故事&#xff0c;成長的代價就是失去原來…

2023 龍蜥操作系統大會演講實錄:《兼容龍蜥的云原生大模型數據計算系統——πDataCS》

本文主要分三部分內容&#xff1a;第一部分介紹拓數派公司&#xff0c;第二部分介紹 πDataCS 產品&#xff0c;最后介紹 πDataCS 與龍蜥在生態上的合作。 杭州拓數派科技發展有限公司&#xff08;簡稱“拓數派”&#xff0c;英文名稱“OpenPie”&#xff09;是國內基礎數據計…

論文發表 | 頂會頂刊的實驗是如何煉成的

前言:Hello大家好,我是小哥談。在計算機科學研究領域,尤其是當你追求頂級會議和期刊的發表時,沒有什么?實驗設計更關鍵了。為什么這么說?理由很簡單。實驗不僅僅是你?來 檢驗假設的?段,它更是審稿?會重點關注和閱讀的部分,也是你驗證??研究多么創新、多么重要的內…

0221 解決萬得導出數據excel無法python讀入的問題

報錯如下&#xff1a; TypeError: <class openpyxl.styles.named_styles._NamedCellStyle>.name should be <class str> but value is <class NoneType> 原因分析&#xff1a; 萬得導出的xlsx帶有某些格式&#xff0c;比如首行加粗&#xff0c;excel桌面端工…

Linux之用戶和用戶組

目錄 一、簡介 1.1 用戶賬號分類 二、用戶 2.1 useradd 2.2 userdel 2.3 usermod 2.4 passwd 2.5 su 2.6 登出 三、用戶組 3.1 groupadd 3.2 groupdel 3.3 groupmod 3.4 newgrp 四、用戶賬號系統 4.1 /ect/passwd 4.2 常見的偽用戶如下所示 五、思維導圖 …

自動駕駛---Motion Planning之LaneChange

1 背景 在Apollo中,有比較多的Decider(決策器),上篇博客《自動駕駛---Motion Planning之Decider》中筆者也大概介紹了每個Deicder的作用。 本篇博客筆者主要介紹換道的決策內容,因為在自動駕駛中(嚴格意義上來講,目前還屬于輔助駕駛),變道的靈活性是用戶評價該功能是否…

安裝和配置awscli

1、 安裝awscli curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip ./aws/install ln -s /usr/local/bin/aws /usr/bin/aws安裝完成&#xff0c;檢查awscli版本號 aws --version輸出內容 aws-cli…

igolang學習3,golang 項目中配置gin的web框架

1.go 初始化 mod文件 go mod init gin-ranking 2.gin的crm框架 go get -u github.com/gin-gonic/gin 3.go.mod爆紅解決

Odoo17 不再支持視圖中的attrs和states

在最新的視圖設計中&#xff0c;屬性寫法發生了改變。以前我們使用的attrs和states屬性不再被支持&#xff0c;因此在現有模塊的視圖中&#xff0c;之前寫在attrs屬性中的invisiable、readonly、required等屬性需要全部拆分成獨立的屬性表達式。 odoo17之前的寫法 <field …