【Gitlab遠程訪問本地倉庫】Gitlab如何安裝配置并結合內網穿透實現遠程訪問本地倉庫進行管理

文章目錄

  • 前言
  • 1. 下載Gitlab
  • 2. 安裝Gitlab
  • 3. 啟動Gitlab
  • 4. 安裝cpolar
  • 5. 創建隧道配置訪問地址
  • 6. 固定GitLab訪問地址
    • 6.1 保留二級子域名
    • 6.2 配置二級子域名
  • 7. 測試訪問二級子域名

前言

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

Gitlab是被廣泛使用的基于git的開源代碼管理平臺, 基于Ruby on Rails構建, 主要針對軟件開發過程中產生的代碼和文檔進行管理, Gitlab主要針對group和project兩個維度進行代碼和文檔管理, 其中group是群組, project是工程項目, 一個group可以管理多個project, 可以理解為一個群組中有多項軟件開發任務, 而一個project中可能包含多個branch, 意為每個項目中有多個分支, 分支間相互獨立, 不同分支可以進行歸并。

下面我們通過在Linux CentOS8 中搭建GitLab私有倉庫并且結合Cpolar內網穿透工具,實現在公網環境下也可以訪問私有倉庫Gitlab。

1. 下載Gitlab

在系統中創建一個目錄,名字叫GitLab,存放下載的安裝包

mkdir /usr/local/gitlab

進入創建的目錄

cd /usr/local/gitlab

下載Gitlab安裝包,等待下載完成

wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/8/gitlab-ce-15.0.2-ce.0.el8.x86_64.rpm/download.rpm

1678717872337

2. 安裝Gitlab

下載成功后,開始安裝Gitlab,首先安裝一個工具包,時間很長,等待安裝完成:

yum install  policycoreutils-python-utils

1678720861569

然后安裝Gitlab,進去我們上面創建的/usr/local/gitlab目錄下執行:

rpm -Uvh gitlab-ce-15.0.2-ce.0.el8.x86_64.rpm

1678721095616

安裝完成后,更新配置,稍微需要點時間,耐心等待一下,完成后,我們可以看到用戶名和密碼

gitlab-ctl reconfigure 

以下信息我們可以看到用戶名和密碼,用戶名為:root,密碼需要單獨查看

1678721702117

上面那個路徑就是密碼路徑,查看密碼:

cat /etc/gitlab/initial_root_password

1678721881291

3. 啟動Gitlab

測試啟動,沒有出錯表示成功

gitlab-ctl start

1678722005864

然后修改訪問地址,編輯Gitlab配置文件,

vim /etc/gitlab/gitlab.rb

把external_url的值換成http://127.0.0.1:8088,端口號可以自己指定,這里指定8088,然后保存

image-20230314003117292

修改完后重新加載配置文件

gitlab-ctl reconfigure

然后重新啟動Gitlab

sudo gitlab-ctl restart

如果有防火墻,添加防火墻端口:8088

firewall-cmd --zone=public --add-port=8088/tcp --permanent

然后打開瀏覽器,輸入Linux 局域網ip+8088,即可訪問成功

1678725368861

輸入上面的用戶名:root 和上面查看的密碼即可登錄成功啦

1678725526795

4. 安裝cpolar

上面我們在本地Linux虛擬機安裝了Gitlab,下面我們安裝cpolar內網傳統工具,通過cpolar的http公網地址,我們可以很容易遠程也可以訪問GitLab,而無需自己注冊域名.下面是安裝cpolar步驟:

cpolar官網地址:https://www.cpolar.com/

  • 使用一鍵腳本安裝命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • token認證

登錄cpolar官網后臺,點擊左側的驗證,查看自己的認證token,之后將token貼在命令行里:

cpolar authtoken xxxxxxx

20230206171248

  • 向系統添加服務,將cpolar配置為開機自啟
sudo systemctl enable cpolar
  • 啟動cpolar服務
sudo systemctl start cpolar

5. 創建隧道配置訪問地址

成功啟動cpolar服務后,我們在瀏覽器上訪問Linux局域網ip地址+9200端口,登錄cpolar web UI管理界面。

登錄成功后,點擊左側儀表盤的隧道管理——創建隧道,創建一個http協議的隧道指向上面設置的8088端口:

  • 隧道名稱:可自定義,注意不要與已有的隧道名稱重復
  • 協議:http
  • 本地地址:8088
  • 域名類型:免費選擇隨機域名
  • 地區:選擇China VIP

點擊創建

1678724119867

然后打開在線隧道列表,查看并且復制公網地址

1678724278844

然后打開瀏覽器,輸入公網地址,即可訪問成功

1678725654998

6. 固定GitLab訪問地址

由于剛剛創建隧道使用的是隨機臨時地址,該地址會在24小時內發生變化,為了長期遠程訪問,我們接下來將這個公網地址配置為固定的。

6.1 保留二級子域名

需升級至基礎套餐或以上才支持配置二級子域名

登錄cpolar官網后臺,點擊左側儀表盤的預留,找到保留二級子域名,為http隧道保留一個二級子域名。

  • 地區:選擇服務器地區
  • 名稱:填寫您想要保留的二級子域名(可自定義)
  • 描述:即備注,可自定義填寫

1678725876220

本例保留一個名稱為gitlabTest的二級子域名。子域名保留成功后,我們將子域名復制下來,接下來需要將其配置到隧道中去。

1678725912846

6.2 配置二級子域名

登錄cpolar web ui管理界面。點擊左側儀表盤的隧道管理——隧道列表,找到需要配置二級子域名的隧道,點擊右側的編輯

1678725955880

修改隧道信息,將二級子域名配置到隧道中:

  • 域名類型:改為選擇二級子域名
  • Sub Domain:填寫我們剛剛所保留的二級子域名(本例為gitlabTest

修改完成后,點擊更新

1678725995744

隧道更新成功后,點擊左側儀表盤的狀態——在線隧道列表,可以看到隧道的公網地址,已經更新為二級子域名了,將公網地址復制下來。

1678726056852

7. 測試訪問二級子域名

打開瀏覽器,我們來測試一下訪問配置成功的二級子域名,測試成功,可以正常訪問。現在,我們全網唯一的私有二級子域名,就創建好了。 而且這個地址也不會再隨機變化,他是固定不變的,只要保持隧道在線,我們在外就可以通過這個公網地址,隨時隨地遠程訪問,無需公網IP,也不用設置路由器。

1678726105739

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

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

相關文章

為什么質量工程師必學六西格瑪?突破職業發展的瓶頸?

在質量管理領域工作多年,你是否曾感受到事業發展的停滯不前?3年、5年的職業生涯,薪水依舊停留在每月5000-7000,而同行業的其他人卻能月入2-3萬,這種差距讓人不禁陷入深思。 問題究竟出在哪里?為什么我們的…

編譯OpenResty遇到找不到OpenSSL的解決辦法

以OpenResty-1.19.9.1為例 編輯openresty-1.19.9.1/build/nginx-1.19.9/auto/lib/openssl/conf CORE_INCS"$CORE_INCS $OPENSSL/.openssl/include" CORE_DEPS"$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h" CORE_LIBS"$CORE_LIBS $OPENSSL/.…

揭秘圖形編程 動靜接口如何助力 AGV 集成

在公司軟件開發團隊的辦公室里,陽光透過窗戶灑在排列整齊的辦公桌上。臥龍坐在辦公桌前,面前攤開一份內測報告,他的手指時不時地敲擊著桌面,流露出內心的煩躁。他抬起頭,眼神中透露出一絲困惑,看向正在文件…

調用函數實現數組的輸入排序插入與輸出

輸入一串數字,輸出排序插入后輸出最后的數字序列; 把主要步驟交給主函數,通過調用函數來實現整體的功能: 寫出主函數(這里使用冒泡排序): int main(){int n;int a[10];cin>>n;inputa(a…

【網絡安全】【Frida實踐案例】某圖xx付費功能逆向分析(一)

文章目錄 一、目標應用二、環境三、步驟1、查看布局id2、用到的Log日志類信息3、嘗試hook VIP判斷方法 四、總結五、相關源碼 1、文章僅供學習參考,嚴禁非法使用!如非法使用,而導致的一切后果,由使用者自負! 2、禁止將…

【C++】string類常用函數用法總結

目錄 常用函數一覽 默認成員函數 與容量有關的函數 part 1 part 2 part 3 與訪問和遍歷有關的函數 與修改有關的函數 npos 與string相關的其它常用函數 常用非成員函數 getline和cin的區別 常用函數一覽 //默認成員函數 string();string(const char* s);string(si…

貓狗分類識別②圖像歸一化-位置和重心歸一化處理

一、導入庫 glob 和 os 都是Python的標準庫模塊,也就是說它們隨Python一起安裝,無需額外安裝即可使用。 glob 模塊提供了一個在目錄中使用通配符搜索創建文件列表的函數,例如,可以使用 glob.glob(*.txt) 來查找當前目錄下所有的…

Android OpenMAX(七)OMX Service

上一篇文章我們分析了Android使用OMXStore來管理平臺上的軟件和硬件編解碼組件,這一篇我們再向上一層了解應用層是如何獲取調用OMXStore管理組件的。本篇文章代碼參考自: frameworks/av/services/mediacodec/main_codecservice.cpp frameworks/av/media/libstagefright/omx/1…

Mybatis Plus ActiveRecord 模式

Mybatis Plus ActiveRecord 模式 使用 DEMO源碼地址 https://gitee.com/JackSong2019/demo-mybatis3.git 前言 ActiveRecord 模式 簡介 ActiveRecord 是一種設計模式,它是一種在軟件開發中用于管理關系數據庫的模式,他簡化了數據庫操作的流程&#xf…

docker八大架構之應用服務集群架構

應用服務集群架構 在之前,一個應用層要負責所有的用戶操作,但是有時用戶增加后就會導致供不應求的現象(單個應用不足以支持海量的并發請求,高并發的時候站點響應變慢),這時就需要增加應用層服務器&#xf…

【STM32 |GPIO】GPIO結構、GPIO輸出

目錄 GPIO簡介 GPIO的基本結構 GPIO位結構(每一位的具體電路結構) 輸入 上拉和下拉電阻 斯密特觸發器 ?編輯 輸出 GPIO模式 ?編輯 浮空輸入、上拉輸入、下拉輸入 模擬輸入 開漏輸出和推挽輸出 復用開漏輸出和復用推挽輸出 LED和蜂鳴器…

簡述線程同步和線程通信及如何實現線程間的同步

一、線程同步和線程通信是多線程編程中的兩個重要概念。 線程同步: 線程同步是指當有一個線程在對內存進行操作時(如讀取、寫入等),其他線程都不可以對該內存地址進行操作,直到該線程完成操作,其他線程才…

FFmpeg開發筆記(二十七)APP無法訪問ZLMediaKit的HLS直播地址

上一篇文章介紹了如何通過ZLMediaKit實現視頻推拉流,并使用VLC播放器驗證視頻直播地址。即使不用VLC播放器,直接在Qt工程的C代碼中調用FFmpeg的API,也能訪問ZLMediaKit的直播地址,并正常渲染視頻畫面。關于如何在Qt工程中引入FFmp…

【資源分享】完勝谷歌翻譯的Deepl翻譯

::: block-1 “時問桫欏”是一個致力于為本科生到研究生教育階段提供幫助的不太正式的公眾號。我們旨在在大家感到困惑、痛苦或面臨困難時伸出援手。通過總結廣大研究生的經驗,幫助大家盡早適應研究生生活,盡快了解科研的本質。祝一切順利!—…

【數據結構與算法】力扣 111. 二叉樹的最小深度

題目描述 給定一個二叉樹,找出其最小深度。 最小深度是從根節點到最近葉子節點的最短路徑上的節點數量。 說明: 葉子節點是指沒有子節點的節點。 示例 1: 輸入: root [3,9,20,null,null,15,7] 輸出: 2示例 2&#…

長事務的理解和預防

我們常常聽說數據庫發生了“長事務”而導致很嚴重的后果。那么何為長事務?長事務是如何產生的?長事務對數據庫有什么影響?如何防止長事務的產生?以下對這幾方面進行闡述和說明,以加深對SinoDB長事務的理解。 1&#x…

Python-VBA函數之旅-super函數

目錄 一、super函數的常見應用場景 二、super函數使用注意事項 三、如何用好super函數? 1、super函數: 1-1、Python: 1-2、VBA: 2、推薦閱讀: 個人主頁: https://myelsa1024.blog.csdn.net/ 一、su…

AI代理和AgentOps生態系統的剖析

1、AI代理的構成:AI代理能夠根據用戶的一般性指令自行做出決策和采取行動。 主要包含四個部分: (1)大模型(LLM) (2)工具:如網絡搜索、代碼執行等 (3&#x…

探索未來:IT行業的革新脈動與明日圖景

你眼中的IT行業現狀與未來趨勢 隨著技術的不斷進步,IT行業已成為推動全球經濟和社會發展的關鍵力量。從云計算、大數據、人工智能到物聯網、5G通信和區塊鏈,這些技術正在重塑我們的生活和工作方式。你眼中IT行業的現狀及未來發展趨勢是怎么樣的&#xf…

開散列哈希桶

通過上面這幅圖,讀者應該能較為直觀地理解何為開散列,以及閉散列與開散列的區別在哪里 —— 數據的存儲形式不同,至于其他的,如確定每個元素的哈希地址等一概相同。 與閉散列相比,開散列能夠更好地處理發生沖突的元素 …