【GitLab私有倉庫】如何在Linux上用Gitlab搭建自己的私有庫并配置cpolar內網穿透?

文章目錄

  • 前言
  • 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步驟

  • 使用一鍵腳本安裝命令
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/news/40465.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/40465.shtml
英文地址,請注明出處:http://en.pswp.cn/news/40465.shtml

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

相關文章

ngModel和formControlName處理表單控件

ngModel 和 formControlName 不能同時在同一個表單控件上使用; 二者都用于在 Angular 中處理表單控件的值,但是它們的底層實現方式不同。 ngModel 是 Angular 提供的雙向數據綁定指令,它可以將表單控件的值與組件類中的屬性進行雙向綁定。當…

軟考筆記——10.項目管理

進度管理 進度管理就是采用科學的方法,確定進度目標,編制進度計劃和資源供應計劃,進行進度控制,在與質量、成本目標協調的基礎上,實現工期目標。 具體來說,包括以下過程: (1) 活動定義&#…

HLS實現FIR低通濾波器+System Generator仿真

硬件:ZYNQ7010 軟件:MATLAB 2019b、Vivado 2017.4、HLS 2017.4、System Generator 2017.4 1、MATLAB設計低通濾波器 FPGA系統時鐘 50MHz,也是采樣頻率。用 MATLAB 生成 1MHz 和 10MHz 的正弦波疊加的信號,并量化為 14bit 整數。把…

css 用過渡實現,鼠標離開li時,背景色緩慢消息的樣式

要實現鼠標懸停時背景顏色變為黃色,鼠標離開時背景顏色慢慢消失并變回白色的效果, 可以使用CSS的過渡(transition)屬性 li {background: #fff;color: #000;transition: background 0.5s ease-out; }li:hover {background: #fbb31…

Web網頁瀏覽器遠程訪問jupyter notebook服務器【內網穿透】

文章目錄 前言1. Python環境安裝2. Jupyter 安裝3. 啟動Jupyter Notebook4. 遠程訪問4.1 安裝配置cpolar內網穿透4.2 創建隧道映射本地端口 5. 固定公網地址 前言 Jupyter Notebook,它是一個交互式的數據科學和計算環境,支持多種編程語言,如…

Hyper-v導致Vmware window無法啟動崩潰記錄

最近有幾次vmware啟動window10直接崩潰情況,顯示藍屏報錯。一開始沒在意,以為是因為固態硬盤錯了幾個字節導致的? 但后來想想不對啊。vmware用了也有10來年了,穩得一筆,在仔細思考了一下后發現打不開的win10這三個虛擬…

Oracle/PL/SQL奇技淫巧之Lable標簽與循環控制

在一些存儲過程場景中&#xff0c;可能存在需要在滿足某些條件時跳出循環的場景&#xff0c; 但是在PL/SQL中&#xff0c;不能使用break語句直接跳出循環, 但是可以通過lable標簽的方式跳出循環&#xff0c;例&#xff1a; <<outer_loop>> FOR i IN 1..5 LOOPDBMS…

Python批量替換Excel和Word中的關鍵字

一、問題的提出 有時&#xff0c;我們手頭上有多個Excel或者Word文件&#xff0c;但是領導突然要求對某幾個術語進行批量的修改&#xff0c;你是不是有要崩潰的感覺。因為這么多文件&#xff0c;要一個一個地打開文件&#xff0c;再進行批量替換修改&#xff0c;幾個文件還好&…

設計模式之構建器(Builder)C++實現

1、構建器提出 在軟件功能開發中&#xff0c;有時面臨“一個復雜對象”的創建工作&#xff0c;該對象的每個功能接口由于需求的變化&#xff0c;會使每個功能接口發生變化&#xff0c;但是該對象使用每個功能實現一個接口的流程是穩定的。構建器就是解決該類現象的。構建就是定…

【Java】項目管理工具Maven的安裝與使用

文章目錄 1. Maven概述2. Maven的下載與安裝2.1 下載2.2 安裝 3. Maven倉庫配置3.1 修改本地倉庫配置3.2 修改遠程倉庫配置3.3 修改后的settings.xml 4. 使用Maven創建項目4.1 手工創建Java項目4.2 原型創建Java項目4.3 原型創建Web項目 5. Tomcat啟動Web項目5.1 使用Tomcat插件…

【CTF-web】備份是個好習慣(查找備份文件、雙寫繞過、md5加密繞過)

題目鏈接&#xff1a;https://ctf.bugku.com/challenges/detail/id/83.html 經過掃描可以找到index.php.bak備份文件&#xff0c;下載下來后打開發現是index.php的原代碼&#xff0c;如下圖所示。 由代碼可知我們要繞過md5加密&#xff0c;兩數如果滿足科學計數法的形式的話&a…

模型預測筆記(一):數據清洗及可視化、模型搭建、模型訓練和預測代碼一體化和對應結果展示(可作為baseline)

模型預測 一、導入關鍵包二、如何載入、分析和保存文件三、修改缺失值3.1 眾數3.2 平均值3.3 中位數3.4 0填充 四、修改異常值4.1 刪除4.2 替換 五、數據繪圖分析5.1 餅狀圖5.1.1 繪制某一特征的數值情況&#xff08;二分類&#xff09; 5.2 柱狀圖5.2.1 單特征與目標特征之間的…

OpenCV基本操作——算數操作

目錄 圖像的加法圖像的混合 圖像的加法 兩個圖像應該具有相同的大小和類型&#xff0c;或者第二個圖像可以是標量值 注意&#xff1a;OpenCV加法和Numpy加法之間存在差異。OpenCV的加法是飽和操作&#xff0c;而Numpy添加的是模運算 import numpy as np import cv2 as cv imp…

[數據集][目標檢測]鋼材表面缺陷目標檢測數據集VOC格式2279張10類別

數據集格式&#xff1a;Pascal VOC格式(不包含分割路徑的txt文件和yolo格式的txt文件&#xff0c;僅僅包含jpg圖片和對應的xml) 圖片數量(jpg文件個數)&#xff1a;2279 標注數量(xml文件個數)&#xff1a;2279 標注類別數&#xff1a;10 標注類別名稱:["yueyawan",&…

Qt 窗口隨鼠標移動效果

實現在窗口任意位置按下鼠標左鍵都可以移動窗口的效果&#xff0c;完整代碼如下&#xff1a; mainwindow.h&#xff1a; #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QMouseEvent>QT_BEGIN_NAMESPACE namespace Ui { class MainW…

PHP混淆加密以及常用的一些加密工具

PHP混淆加密是一種將源代碼轉換為難以理解和閱讀的方式&#xff0c;以保護代碼的安全性。以下是一些常見的PHP混淆加密方法&#xff1a; 代碼壓縮&#xff1a;使用代碼壓縮工具&#xff08;如UglifyJS&#xff09;將PHP代碼壓縮為一行&#xff0c;去除空格、換行符等可讀性的字…

jenkins 連接服務器,提示Can‘t connect to server

在Jenkins 添加服務器時&#xff0c;提示 Cant connect to server&#xff0c;如圖 搞了好久&#xff0c;不知道為什么不行~原來是行的&#xff0c;現在刪了 新建一個也不行。

2023牛客暑期多校訓練營8-C Clamped Sequence II

2023牛客暑期多校訓練營8-C Clamped Sequence II https://ac.nowcoder.com/acm/contest/57362/C 文章目錄 2023牛客暑期多校訓練營8-C Clamped Sequence II題意解題思路代碼 題意 解題思路 先考慮不加緊密度的情況&#xff0c;要支持單點修改&#xff0c;整體查詢&#xff0…

axios同一個接口,同時接收 文件 或者 數據

1、前端代碼 const service axios.create({baseURL: "http://192.168.2.200:8080/api",timeout: 180000 })// 響應攔截 service.interceptors.response.use(async response > {if(response){// 請求時設置返回blob, 但是實際上可能返回的是json的情況if (respon…

[C++]筆記 - 知識點積累

一.運算符的優先級 一共15個級別 最高優先級 : () []最低優先級 :逗號表達式倒數第二低優先級 : 賦值和符合賦值(,,-...) ! >算術運算符 > 關系運算符 > && >> || >賦值運算符 二.數據類型轉換 隱式類型轉換 算數轉換 char int long longlong flo…