搜尋
首頁開發工具Git如何在 NUC 上建立自己的 Gitlab 伺服器

在軟體開發領域中,版本控制是非常重要的工具。它可以幫助團隊在分佈在不同地理位置的開發者之間協作,在不同的版本、分支上開發、調試和測試程式碼。 Git是最受歡迎的開源版本控制工具之一。而在個人開發者或小型團隊中,免費的 Gitlab 可以幫助他們實現自己的版本控制系統。而本文將介紹如何在 NUC 上建立自己的 Gitlab 伺服器。

NUC 簡介

Intel NUC(Next Unit of Computing)是一種迷你電腦,它的體積非常小,但是配置非常強大。 NUC 的高效能處理器、記憶體、硬碟和網路介面是這些設備的主要特徵。

建置環境

在開始建立我們的 Gitlab 伺服器之前,我們需要準備一個 NUC 運行環境。我們要求這個環境有以下特點:

作業系統:Ubuntu 18.04.5 LTS

記憶體:至少4GB

##硬碟:至少60GB

#網路:有一個公網IP位址,並能存取22和80埠

設定步驟

#第一步:更新軟體包

在我們開始安裝Gitlab 之前,我們需要更新軟體包:

sudo apt update
sudo apt upgrade
第二步:安裝必備​​軟體

在安裝Gitlab 前我們需要安裝Git、PostgreSQL 和Nginx:

sudo apt install -y curl openssh-server ca-certificates
sudo apt install -y postfix
sudo apt install -y git-core
sudo apt install -y postgresql postgresql-contrib
sudo apt install -y nginx
安裝了這些軟體包之後,我們需要設定PostgreSQL 資料庫和Nginx 伺服器。

第三個步驟:設定 PostgreSQL 資料庫

在 Gitlab 中,我們使用 PostgreSQL 作為資料庫引擎。我們需要建立一個運行 Gitlab 的用戶,以及一個名為

gitlabhq_production的資料庫。

sudo su - postgres
createuser --interactive
createdb gitlabhq_production
建立資料庫後,我們需要將其配置到 Gitlab。我們打開並編輯設定檔

/etc/gitlab/gitlab.rb。在其中找到下面的語句,取消註釋,並修改為以下內容:

## GitLab Postgres connection settings
gitlab_rails['db_adapter'] = 'postgresql'
gitlab_rails['db_encoding'] = 'unicode'
gitlab_rails['db_host'] = '127.0.0.1'
gitlab_rails['db_port'] = '5432'
gitlab_rails['db_username'] = 'git'
gitlab_rails['db_password'] = 'password'
gitlab_rails['db_database'] = 'gitlabhq_production'
第四步:安裝Gitlab

我們可以從Gitlab 官方網站下載Gitlab 社群版:

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo apt-get install gitlab-ce
等待安裝完畢後,執行下列指令啟動Gitlab 伺服器:

sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
第五步:設定Nginx

Gitlab 使用Nginx 作為Web 伺服器。這裡我們需要修改Nginx 的設定檔

/etc/nginx/sites-available/gitlab

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/gitlab
sudo nano /etc/nginx/sites-available/gitlab

## 修改 Gitlab 配置文件中的内容如下 ##
upstream gitlab-workhorse {
  server unix:/var/opt/gitlab/gitlab-workhorse/socket fail_timeout=0;
}

server {
    listen 80;
    server_name yourdomain.com;
    server_tokens off;

    client_max_body_size 250m;

    location / {
        proxy_pass http://gitlab-workhorse;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
        proxy_read_timeout 300;
    }

    error_page 404 /404.html;
        location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
}
當修改完成後,執行以下指令啟動設定檔:

sudo ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
最後,我們開啟瀏覽器,造訪Gitlab 在NUC 上執行的URL:

http://yourdomain.com

結論

在本文中,我們學習如何在 NUC 上建立自己的 Gitlab 伺服器。我們首先準備了一個運行 Ubuntu 18.04.5 LTS 的 NUC 環境,然後安裝了必要的軟體包,配置了 PostgreSQL 資料庫和 Nginx 伺服器,安裝了 Gitlab 社群版,並將其配置為在 NUC 上運行。現在,我們可以讓我們的團隊在自己的伺服器上共享程式碼了。

以上是如何在 NUC 上建立自己的 Gitlab 伺服器的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
行動中的github:示例和用例行動中的github:示例和用例Apr 12, 2025 am 12:16 AM

GitHub是提升軟件開發效率和質量的強大工具。 1)版本控制:通過Git管理代碼變更。 2)PullRequests:進行代碼審查,提高代碼質量。 3)Issues:跟踪bug和項目進度。 4)GitHubActions:自動化構建、測試和部署流程。

git vs. github:版本控制和代碼託管git vs. github:版本控制和代碼託管Apr 11, 2025 am 11:33 AM

Git是版本控制系統,GitHub是基於Git的代碼託管平台。 Git用於管理代碼版本,支持本地操作;GitHub提供在線協作工具,如Issue跟踪和PullRequest。

什麼是簡單的話?什麼是簡單的話?Apr 09, 2025 am 12:12 AM

Git是一個開源的分佈式版本控制系統,幫助開發者跟踪文件變化、協同工作和管理代碼版本。它的核心功能包括:1)記錄代碼修改,2)回退到之前版本,3)協同開發,4)創建和管理分支進行並行開發。

git和github相同嗎?git和github相同嗎?Apr 08, 2025 am 12:13 AM

Git和GitHub不是同一回事。 Git是版本控制系統,GitHub是基於Git的代碼託管平台。 Git用於管理代碼版本,GitHub提供在線協作環境。

如何將github用於HTML?如何將github用於HTML?Apr 07, 2025 am 12:13 AM

使用GitHub管理HTML項目的原因是它提供了版本控制、協作開發和展示作品的平台。具體步驟包括:1.創建並初始化Git倉庫,2.添加和提交HTML文件,3.推送到GitHub,4.使用GitHubPages部署網頁,5.利用GitHubActions自動化構建和部署。此外,GitHub還支持代碼審查、Issue和PullRequest功能,幫助優化和協作開發HTML項目。

我應該從git還是github開始?我應該從git還是github開始?Apr 06, 2025 am 12:09 AM

從Git開始更適合深入理解版本控制原理,從GitHub開始更適合關注協作和代碼託管。 1.Git是一個分佈式版本控制系統,幫助管理代碼版本歷史。 2.GitHub是一個基於Git的在線平台,提供代碼託管和協作功能。

Microsoft是否擁有Git或Github?Microsoft是否擁有Git或Github?Apr 05, 2025 am 12:20 AM

微軟不擁有Git,但擁有GitHub。 1.Git是林納斯·托瓦茲在2005年創建的分佈式版本控制系統。 2.GitHub是基於Git的在線代碼託管平台,成立於2008年,微軟於2018年收購。

我應該把git或github放在簡歷上嗎?我應該把git或github放在簡歷上嗎?Apr 04, 2025 am 12:04 AM

在簡歷上應根據職位要求和個人經驗選擇寫Git還是GitHub。 1.如果職位要求Git技能,突出Git。 2.如果職位看重社區參與,展示GitHub。 3.確保詳細描述使用經驗和項目案例,以完整句子結束。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版