在軟體開發領域中,版本控制是非常重要的工具。它可以幫助團隊在分佈在不同地理位置的開發者之間協作,在不同的版本、分支上開發、調試和測試程式碼。 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第五步:設定NginxGitlab 使用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 伺服器的詳細內容。更多資訊請關注PHP中文網其他相關文章!