在软件开发领域中,版本控制是非常重要的工具。它可以帮助团队在分布在不同地理位置的开发者之间协作,在不同的版本、分支上开发、调试和测试代码。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中文网其他相关文章!