在軟件開發領域中,版本控制是非常重要的工具。它可以幫助團隊在分布在不同地理位置的開發者之間協作,在不同的版本、分支上開發、調試和測試代碼。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 上運行?,F在,我們可以讓我們的團隊在自己的服務器上共享代碼了。