GitLab管理員常用配置及設置匯總

?
之前在 虛擬機Ubuntu 22.04上搭建GitLab操作步驟 上介紹了在Ubuntu 22.04上如何搭建社區版的GitLab,這里整理下作為GitLab管理員時在搭建完GitLab CE后,如何對其進行配置或設置

  • 更改倉庫存儲位置:切換到root用戶下操作
    • 默認存放位置:/var/opt/gitlab/git-data/repositories
    • 自定義存放位置:/home/gitlab/git-data
    • 修改配置文件/etc/gitlab/gitlab.rb,取消對git_data_dirs的注釋,調整為
      git_data_dirs({"default" => {"path" => "/home/gitlab/git-data"}
      })
      
    • 依次執行如下命令
      mkdir -p /home/gitlab/git-data
      chown -R git:git /home/gitlab/git-data
      gitlab-ctl stop
      gitlab-ctl reconfigure
      gitlab-ctl start
      
      • 若默認存放路徑中已存在項目,則需要將已存在的所有項目(@hashed目錄下所有內容)拷貝到新指定的@hashed目錄下
      • 若出現storage_directory[/home/spring/gitlab/…](gitlab::gitlab-rails line 104) had an error: Mixlib::ShellOut::ShellCommandFailed類似錯誤,則需要設置/home/gitlab目錄也為git用戶,即執行如下命令:
        chown -R git:git /home/gitlab
        
      • 在/home/gitlab/git-data目錄下會生成repositories目錄
  • 更改倉庫備份位置:切換到root用戶下操作
    • 默認備份文件存儲位置:/var/opt/gitlab/backups
    • 自定義存放位置:/home/gitlab/backups
    • 修改配置文件/etc/gitlab/gitlab.rb,取消對gitlab_rails[‘backup_path’]的注釋,調整為:
      gitlab_rails['backup_path'] = "/home/gitlab/backups"
      
    • 依次執行如下命令
      mkdir -p /home/gitlab/backups
      chown -R git:git /home/gitlab/backups
      gitlab-ctl stop
      gitlab-ctl reconfigure
      gitlab-ctl start
      
  • 倉庫備份(兩塊硬盤數據同步):在root用戶下操縱
    • GitLab完整備份,執行如下其中一條命令
      gitlab-rake gitlab:backup:create # gitlab 12.2以下版本
      gitlab-backup create # gitlab 12.2以上版本
      
      • 會在設置的備份文件存儲路徑/home/gitlab/backups下生成.tar文件,如1719565848_2024_06_28_17.1.1_gitlab_backup.tar
    • 其它需要備份的文件
      • /etc/gitlab/gitlab.rb # 配置文件
      • /etc/gitlab/gitlab-secrets.json # 數據庫加密密鑰等
      • /var/opt/gitlab/nginx/conf # nginx配置文件
      • /etc/postfix/main.cfpostfix # 郵件配置
    • 自動備份
      • 編輯crontab文件,執行:crontab -e,編輯文件內容如下,每晚12點執行備份
        0 0 * * * gitlab-backup create
        0 0 * * * cp /etc/gitlab/gitlab.rb /home/gitlab/backups/
        0 0 * * * cp /etc/gitlab/gitlab-secrets.json /home/gitlab/backups/
        0 0 * * * cp -a /var/opt/gitlab/nginx/conf /home/gitlab/backups/
        
      • 重啟crontab服務,執行如下命令
        service cron restart
        
      • 注:備份時需要保持GitLab處于正常運行狀態
    • 設置備份過期時間
      • 打開/etc/gitlab/gitlab.rb文件,取消對gitlab_rails[‘backup_keep_time’]的注釋,調整為如下內容:以秒為單位,設置希望保留每個備份的秒數,這里設置為保存30天
        gitlab_rails['backup_keep_time'] = 2592000
        
      • 依次執行如下命令
        gitlab-ctl stop
        gitlab-ctl reconfigure
        gitlab-ctl start
        
    • GitLab備份恢復,依次執行如下命令
      gitlab-ctl stop unicorn # 停止相關數據連接服務
      gitlab-ctl stop sidekiq
      gitlab-rake gitlab:backup:restore BACKUP=1719565848_2024_06_28_17.1.1 # 編號,1719565848_2024_06_28_17.1.1_gitlab_backup.tar,輸入兩次yes
      gitlab-ctl start
      
      • 注:GitLab版本號要相同
  • GitLab遷移
    • 在新服務器上安裝相同版本的GitLab
    • 將備份生成的備份文件拷貝到新服務器的相同目錄下
  • 添加新用戶
    • 進入:http://192.168.18.215/admin , 點擊:Overview --> Dashboard
      • 點擊 New user: 填寫Name, Username, Email,如Name:fengbingchun; Username: fengbingchun; Email: fengbingchun@163.com
        • 取消勾選:can create top level group
        • Projects limit: 若設置為0,則新用戶不允許創建項目
        • 點擊 Create user
      • 點擊Edit進入后:設置密碼、也可重新編輯用戶
    • 注:新用戶首次登錄,要求修改密碼
  • 編輯用戶
    • 進入:http://192.168.18.215/admin , 點擊:Overview --> Dashboard --> Latest users
      • 點擊要編輯的用戶,點擊Edit
      • 修改,然后點擊Save changes
  • 刪除用戶
    • 進入:http://192.168.18.215/admin , 點擊:Overview --> Dashboard --> Latest users
      • 點擊要刪除的用戶,點擊三個"豎點",點擊"Delete user"
      • 需要確認,根據提示輸入,然后點擊Delete suer按鈕
    • 注:刪除用戶后無法撤銷或恢復,可用Block user替代
  • 添加新組
    • 進入:http://192.168.18.215/admin , 點擊:Overview --> Groups --> New group
      • Group name:如soft
      • 其它項使用默認
      • 點擊Create group
      • 一個組是多個項目的集合
      • 每個部門可創建一個組,部門下的項目全放在此組下
      • 組的成員只能查看他們有權訪問的項目
      • 現有的項目可以移動到組中
  • 創建新項目
    • 左鍵點擊用戶圖標左側的"+" --> 點擊New project/repository --> 點擊Create blank project
      • Project name: 如test
      • Project URL:如果此項目是某個組中的,則點擊Pick a group or namespace,選擇一個組;否則此項目不屬于任何組
      • 其它使用默認
      • 點擊Create project
  • 將用戶添加到項目
    • 進入到項目:點擊Manage --> Members: 點擊Invite members
      • Username,name or email address:已存在的用戶
      • Select a role: 一般為Developer或Maintainer
      • 點擊Invite
    • 注:角色(role)如果為Developer則默認不能向protected分支提交code
  • 設置/取消指定分支為protected
    • 進入項目頁:Settings --> Repository --> Protected branches:點擊Expand:
      • 取消protected: 點擊指定分支為Unprotect
      • 設置protected: 點擊Add protected branch
        • Branch:選擇一個分支
        • Allowed to merge:一般選擇Maintainers角色
        • Allowed to push and merge:一般選擇Maintainers角色
        • 點擊Protect
    • 注:默認受保護分支不允許Developer直接push code,也沒有merge權限
  • 取消merge后增加的新的commit ID
    • 提交merge request時勾選squash commits when merge request is accepted或merge時勾選squash commit:好像不起作用
    • 調整GitLab的默認merge策略:進入項目
      • Settings --> Merge requests: 勾選:Fast-forward merge,默認勾選的是Merge commit: 點擊Save changes
  • 設置未登錄用戶的默認語言為中文
    • 進入:http://192.168.18.215/admin , 點擊:Settings --> Preferences --> Localization
    • Default language:選擇Chinese, Simplified - 簡體中文(92% translated)
    • 點擊 Save changes
  • 設置用戶在沒有活動的情況下保持登錄的時間,如設置為5分鐘
    • 進入:http://192.168.18.215/admin , 點擊:Settings --> General
    • Session duration(minutes):5
    • 點擊 Save changes
    • 依次執行如下命令
      gitlab-ctl stop
      gitlab-ctl reconfigure
      gitlab-ctl start
      
  • GitLab Web界面顯示中文:每個用戶單獨設置
    • 進入主頁后,點擊用戶頭像,然后點擊"preferences"
      • Localization: Language:選擇Chinese, Simplified - 簡體中文(92% translated)
      • 點擊 Save changes
      • 刷新頁面即可
  • GitLab同個賬號不能同時登錄多個PC機:每個用戶單獨操作
    • 可通過撤銷非本機的Active Sessions來防止登錄多個PC機
      • 點擊用戶圖標 --> Preferences --> Active Sessions:移除掉非當前session的所有其它項
  • 雙重認證(two-factor authentication(2FA)):每個用戶單獨操作
    • 獲取驗證碼
      • 手機應用商店上安裝Authenticator,由微軟開發
      • 登錄GitLab: 點擊用戶圖標 --> Preferences --> Account --> 點擊"Enable two-factor authentication"
      • 打開手機的Authenticator,掃描二維碼
      • 輸入current password
      • 輸入verification code:Authenticator顯示的一次性密碼代碼,長度為6位,每30秒更新一次
      • 保存或下載恢復碼:點擊Copy codes或Download codes,保存的文件名為gitlab-recovery-codes.txt,此文件非常重要,在收不到驗證碼時,可使用此恢復,并且只能使用一次
      • 點擊Proceed
    • 設置Tokens: 點擊用戶圖標 --> Preferences --> Access Tokens:啟用雙重認證后,git clone/pull/push code時,需要使用token作為密碼
      • 點擊"Add new token"
      • 填寫Token name:可任意填寫,如test
      • 填寫Expiration date:最長截止日期為1年
      • Select scopes:必須勾選read_repository和write_repository
      • 點擊"Create personal access token"
      • 復制保存個人token
    • 注:首次clone代碼時,需要填寫用戶名和密碼,此密碼為個人token而不是登錄密碼
  • 取消雙重認證:每個用戶單獨操作
    • 點擊用戶圖標 --> Preferences --> Account:點擊Manage two-factor authentication
    • Disable two-factor authentication: 輸入用戶密碼,點擊Disable two-factor authentication,再點擊Disnable
  • 關閉Auto DevOps
    • 進入:http://192.168.18.215/admin , Settings --> CI/CD
    • 點擊"Continuous Integration and Deployment":
    • 取消勾選:Default to Auto DevOps pipeline for all projects、Enable instance runners for new projects
    • 點擊 Save changes
  • 管理員常用設置匯總
    • 新建項目、新建用戶、新建群組
    • 編輯/刪除所有項目、編輯/刪除用戶、編輯/刪除群組
    • 監控:系統信息(可查看CPU數、內存使用情況、磁盤使用情況)、后臺任務、運行狀況檢查
    • 項目的可見性與訪問控制
    • 設置用戶是否可創建項目及可創建的數目(默認為100000)以及是否允許用戶創建頂級群組
    • 設置項目創建期間可從GitHub、Bitbucket源導入
    • 設置項目中支持的單個文件的最大大小,默認為100MiB
    • 設置新用戶最小密碼長度、是否需電子郵件確認
    • 設置是否強制執行雙重認證
    • 設置新項目默認分支名稱、默認分支保護、允許向保護分支push的角色(Developers、Maintainers)
    • 設置未登錄用戶的默認語言
    • 設置會話持續時間(用戶在沒有活動的情況下保持登錄的時間)
  • 注:
    • GitLab使用的是UTC時間,即GitLab Web端顯示的是UTC時間:UTC+8小時=北京時間
    • 不要在非個人機上clone code時輸入個人GitLab用戶名和密碼,會被Git的憑證助手記錄(Git Credential Manager),刪除此憑證
      • windows:
        • 控制面板 --> 用戶賬戶 --> 憑據管理器 --> 管理Windows憑據 --> 找到git:http://192.168.18.215: 將其刪除
        • 若有~/.git-credentials文件,將其刪除
      • ubuntu:若有~/.git-credentials文件,將其刪除

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

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

相關文章

SSL 證書

自動獲取 Lets Encrypt 免費證書 (適用于 Linux 系統) 安裝 Certbot sudo apt-get update sudo apt-get install certbot python3-certbot-nginx # Nginx 服務器 sudo apt-get install certbot python3-certbot-apache # Apache 服務器 獲取和安裝證…

小米rdemi紅米ax3000t刷機 20240707最新配套完整程序整理合集

小米rdemi紅米ax3000t刷機程序地址: https://www.123pan.com/s/LA1bVv-EOzVv.html 小米路由器SSH密碼計算器 https://www.1234f.com/fuwu/ax3000t/ 最新更新地址:https://www.1234f.com/fuwu/openwrt/ 依次輸入如下命令: curl -X POST h…

Leetcode 295.數據流的中位數

295.數據流的中位數 問題描述 中位數是有序整數列表中的中間值。如果列表的大小是偶數,則沒有中間值,中位數是兩個中間值的平均值。 例如 arr [2,3,4] 的中位數是 3 。例如 arr [2,3] 的中位數是 (2 3) / 2 2.5 。 實現 MedianFinder 類: Media…

算法013:水果成籃

水果成籃. - 備戰技術面試?力扣提供海量技術面試資源,幫助你高效提升編程技能,輕松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/fruit-into-baskets/ 這道題題目很長,仔細閱讀過后,我們其實可以簡化成&#xff…

MySQL 9.0新特性:向量存儲

MySQL 9.0 正式版已經發布,其中一個亮點就是向量(VECTOR)數據類型的支持,本文給大家詳細介紹一下這個新功能。 向量類型 MySQL 9.0 增加了一個新的向量數據類型:VECTOR。它是一種可以存儲 N 個數據項的數據結構&…

Redis Stream:實時數據流的處理與存儲

Redis Stream:實時數據流的處理與存儲 引言 在當今數據驅動的世界中,實時數據處理和存儲成為了許多應用的核心需求。Redis Stream作為一種新興的數據結構,為Redis帶來了強大的流處理能力。本文將深入探討Redis Stream的特點、使用場景以及如何高效地利用它來處理實時數據流…

聚焦數字創新,定義影像未來

國際數字影像產業園在明確產業定位與發展方向時,應聚焦于數字影像、文創、媒體等新興產業領域,以技術創新為核心動力、產業升級為保障、市場拓展為途徑、國際化發展為方向,推動園區的持續健康發展。 作為園區的核心產業,數字影像產…

python socks5代理的使用

需要安裝依賴 1、解決方法1 In order to make requests use socks proxy, you need to install it with it’s dependency. pip install requests[socks]2、解決方法2 pip install PySocks

第二證券股市知識:股票填權是怎么回事?利好還是利空?

1、股票填權的含義 股票填權是指在除權除息之后的一段時刻內,假設多數投資者看好該個股,股票的價格超過除權除息的基準價就叫做填權。上市公司假設能持續分紅,就會向市場傳遞積極信號,招引更多投資者買入,越來越多的投…

使用Livox-Mid360激光雷達,復現FAST_LIO(保姆級教程)

前面我已經完成了mid360激光雷達的驅動安裝,octomap的復現,昨天我去把這倆在正式環境中實測了一下,效果不好,走廊轉角沒建出來,我查了一下,應該是TF的原因,但這部分我還不太懂,看到有…

云計算【第一階段(28)】DNS域名解析服務

一、DNS解析的定義與作用 1.1、DNS解析的定義 DNS解析(Domain Name System Resolution)是互聯網服務中的一個核心環節,它負責將用戶容易記住的域名轉換成網絡設備能夠識別和使用的IP地址。一般來講域名比 IP 地址更加的有含義、也更容易記住…

2024世界人工智能大會:deepin引領AI與操作系統融合新時代

內容來源:deepin(深度)社區 7月4日,WAIC 2024在上海拉開帷幕。大會圍繞核心技術、智能終端、應用賦能三大板塊,聚焦大模型、算力、機器人、自動駕駛等重點領域,集中展示一批“人工智能”創新應用最新成果。…

【web前端HTML+CSS+JS】--- JS學習筆記03

一、JS介紹 可以在前端頁面上進行邏輯處理,來解決表單的驗證等問題,提升效率,直接在前端提示問題,減少服務器壓力 應用1:可以做靜態驗證和動態驗證(進行異步請求) 應用2:可以解析后…

monad理解

每個學習monad的人都要寫一份自己理解的monad。然后還是包括自己沒人能看到自己在寫啥,而且大部分寫的還是錯誤的。 距離學習monad有接近2周了,已經挺模糊了。 monad我理解有兩個基本作用: 1. 能夠對全部的返回值做鏈式調用。只能封裝成mona…

學習數據庫2

在數據庫中創建一個表student,用于存儲學生信息 查看建表結果 向student表中添加一條新記錄 記錄中id字段的值為1,name字段的值為"monkey",grade字段的值為98.5 并查看結果 向student表中添加多條新記錄 2,"bob"…

鴻蒙開發小案例(名片管理))

鴻蒙開發小案例(名片管理) 1、頁面效果1.1 初始頁面1.2 點擊名片展開1.3 點擊收藏1.4 點擊編輯按鈕 2、實現代碼2.1 DataModel.ets2.2 RandomUtil.ets2.3 ContactList.ets 1、頁面效果 1.1 初始頁面 1.2 點擊名片展開 1.3 點擊收藏 1.4 點擊編輯按鈕 2、…

百度、谷歌、必應收錄個人博客網站

主要是給各個搜索引擎提交你的sitemap文件,讓別人能搜到你博客的內容。 主題使用的Butterfly。 生成sitemap 安裝自動生成sitemap插件。 npm install hexo-generator-sitemap --save npm install hexo-generator-baidu-sitemap --save在站點配置文件_config.yml…

【手撕數據結構】卸甲時/空間復雜度

目錄 前言時間復雜度概念?O的漸進表?法小試牛刀 空間復雜度 前言 要想知道什么是空/時間復雜度,就得知道什么是數據結構。 這得分兩層來理解。我們生活中處處存在數據,什么抖音熱點上的國際大事,什么懂的都懂的雍正卸甲等等一系列我們用戶看得到的&a…

鴻蒙語言基礎類庫:【@ohos.url (URL字符串解析)】

URL字符串解析 說明: 本模塊首批接口從API version 7開始支持。后續版本的新增接口,采用上角標單獨標記接口的起始版本。開發前請熟悉鴻蒙開發指導文檔:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md點擊或者復制轉到。 導入…

【K8s】專題六(5):Kubernetes 穩定性之重啟策略、滾動更新策略

以下內容均來自個人筆記并重新梳理,如有錯誤歡迎指正!如果對您有幫助,煩請點贊、關注、轉發!歡迎掃碼關注個人公眾號! 目錄 一、重啟策略 1、基本介紹 2、資源清單(示例) 二、滾動更新策略 …