【代码仓库】GitLab搭建
本文记录了一次局域网内测试机搭建搭建GitLab代码托管平台的步骤。
GitLab CE或Community Edition是一个开源应用程序,主要用于托管Git存储库,还有其他与开发相关的功能,如问题跟踪。在本指南中,我们将介绍如何在Ubuntu 18.04服务器上安装和配置GitLab。
第1步 - 安装依赖项
在我们自己安装GitLab之前,安装一些在安装过程中持续使用的软件非常重要。 幸运的是,可以从Ubuntu的默认包存储库轻松安装所有必需的软件。
由于这是我们第一次在此会话期间使用apt ,因此我们可以刷新本地包索引,然后键入以下内容来安装依赖项:
$ sudo apt update
$ sudo apt install ca-certificates curl openssh-server postfix
您可能已经安装了一些此软件。 对于postfix安装,请在出现提示时选择Internet站点 , 如果不需要邮件代理服务器则选择不配置选项。 在下一个屏幕上,输入服务器的域名以配置系统发送邮件的方式。
踩坑:使用远程终端,卡在了邮件选择界面,需要登录Ubutu终端操作。
第2步 - 安装GitLab
现在依赖关系到位,我们可以自己安装GitLab。 这是一个简单的过程,它利用安装脚本使用GitLab存储库配置系统。
进入/tmp目录,然后下载安装脚本:
$ cd /tmp
$ curl -LO https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh
如果需要检查或自行编辑此脚本,如下命令操作:
$ vim /tmp/script.deb.sh
执行安装程序:
$ sudo bash /tmp/script.deb.sh
该脚本将设置您的服务器以使用GitLab维护的存储库。 这使您可以使用与其他系统软件包相同的软件包管理工具来管理GitLab。 完成后,您可以使用apt安装实际的GitLab应用程序:
$ sudo apt install gitlab-ce
执行完以上步骤 所有组件已经安装完毕
第3步 - 调整防火墙规则
在配置GitLab之前,您需要确保防火墙规则足够宽松以允许Web流量。 如果服务器防火墙默认关闭则忽略此步骤。
键入以下内容查看活动防火墙的当前状态:
$ sudo ufw status
输出如下
Output
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
如您所见,当前规则允许SSH流量通过,但对其他服务的访问受到限制。 由于GitLab是一个Web应用程序,我们应该允许HTTP访问。 因为我们将利用GitLab从Let's Encrypt请求和启用免费TLS / SSL证书的功能 ,所以我们也允许HTTPS访问。
/etc/services
文件中提供了HTTP和HTTPS的端口映射协议,因此我们可以按名称允许该流量。 如果您尚未启用OpenSSH流量,则现在也应该允许该流量:
$ sudo ufw allow http
$ sudo ufw allow https
$ sudo ufw allow OpenSSH
第4步 - 编辑GitLab配置文件
此步骤至关重要,在使用该应用程序之前,需要更新配置文件并运行重新配置命令。 首先,打开Gitlab的配置文件:
$ sudo vim /etc/gitlab/gitlab.rb
在top附近是external_url配置行。 更新它以匹配您的域。 将http更改为https以便GitLab自动将用户重定向到受Let's加密证书保护的站点:
##! For more details on configuring external_url see:
##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab
external_url 'https://example.com'
注意:1.此处因为我搭建的是测试机器,没有备案域名,所以此处踩坑, 域名应为ip地址;2.之前搭建过其他web服务,80端口被占用,需要使用别的端口。如下:
external_url 'http://192.168.199.169:8025'
接下来,查找letsencrypt['contact_emails']设置(可忽略)。 此设置定义了一个电子邮件地址列表,如果您的域存在问题,Let的加密项目可以用来与您联系。 取消注释并填写此内容是一个好主意,以便您知道任何问题:
letsencrypt['contact_emails'] = ['xxx@163.com']
保存并关闭文件。 运行以下命令开始配置Gitlab:
$ sudo gitlab-ctl reconfigure
执行完此命令,经过一个漫长的等待,gitlab即可搭建完毕,如果要改动配置,重新编辑配置文件并执行此命令即可。
打开浏览器输入 http://192.168.199.169:8025即可访问搭建好的gitlab,如果是测试机中访问请使用回环地址 http://127.0.0.1:8025
第5步 - 通过Web界面执行初始配置
到了这一步踩坑基本结束,剩余操作参考网络资料即可。