如何安装和配置GitLab在Ubuntu 16.04

GitLab主要功能一个功能丰富的,开放源码的主机Git仓库,可以自承载服务的任何规模的项目需求。附加工具都包含了殉夫是最先进的软件开发这一重要...

介绍

GitLab CE或Community Edition是一个开源应用程序,主要用于托管Git存储库,以及与开发相关的其他功能,如问题跟踪。它被设计为使用您自己的基础架构托管,并且为您的开发团队提供部署作为内部存储库存储的灵活性,作为与用户接口的一种方式,或者甚至作为贡献者托管自己的项目的一种方式。 GitLab项目使得它相对简单,在您自己的硬件上设置一个GitLab实例,使用简单的安装机制。在本指南中,我们将介绍如何在Ubuntu 16.04服务器上安装和配置GitLab。

先决条件

本教程将假设您可以访问一个新鲜的Ubuntu 16.04服务器。在公布的GitLab硬件要求建议使用服务器:
  • 2个核心
  • 2GB内存
虽然你可能可以通过替换一些交换空间的RAM,但不推荐。对于本指南,我们假设您至少具有上述资源。 为了上手,你将与一个非root用户sudo服务器上配置的访问。 建立基本防火墙以提供额外的安全层也是一个好主意。 您可以按照步骤,我们的Ubuntu 16.04服务器初始设置指南得到这个设置。 满足以上先决条件后,继续开始安装过程。

安装依赖关系

在我们可以安装GitLab本身之前,重要的是安装一些在安装过程中持续使用的软件。幸运的是,所有必需的软件都可以从Ubuntu的默认软件包存储库轻松安装。 由于这个使用是我们第一次apt本届会议期间,我们可以刷新本地包索引,然后键入以下命令安装的依赖关系:
sudo apt-get update
sudo apt-get install ca-certificates curl openssh-server postfix
您可能已经安装了一些此软件。对于postfix安装的时候提示选择Internet站点 。在下一个屏幕上,输入服务器的域名或IP地址以配置系统如何发送邮件。

安装GitLab

现在依赖关系已经就位,我们可以安装GitLab本身。这是一个直接的过程,利用安装脚本使用GitLab存储库配置系统。 移动到/tmp目录,然后下载安装脚本:
cd /tmp
curl -LO https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh
随意检查下载的脚本,以确保您对它将采取的行动感到舒适。您还可以找到脚本的托管版本在这里
less /tmp/script.deb.sh
一旦您对脚本的安全性感到满意,请运行安装程序:
sudo bash /tmp/script.deb.sh
该脚本将设置您的服务器以使用GitLab维护的存储库。这使您可以使用与其他系统软件包相同的软件包管理工具来管理GitLab。一旦完成,可以安装与实际应用GitLab apt
sudo apt-get install gitlab-ce
这将在系统上安装必要的组件。但是,在使用应用程序之前,您需要运行初始配置命令:
sudo gitlab-ctl reconfigure
这将使用可以找到有关您的服务器的信息来初始化GitLab。这是一个完全自动化的过程,因此您不必回答任何提示。

调整防火墙规则

在首次访问GitLab之前,您需要确保防火墙规则足够容许允许正常的网络流量。如果你遵循的先决条件挂钩指导,你将有一个ufw启用防火墙。 键入以下内容以查看活动防火墙的当前状态:
sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
OpenSSH (v6)               ALLOW       Anywhere (v6)
如您所见,当前规则允许SSH流量通过,但是对其他服务的访问受到限制。由于GitLab是一个Web应用程序,我们应该允许HTTP访问。 由于协议端口映射为HTTP是在现有的/etc/services的文件,我们可以允许通过名称流量。如果您尚未启用OpenSSH流量,您现在应该允许流量:
sudo ufw allow http
sudo ufw allow OpenSSH
如果检查ufw status再次命令,你应该看到配置为至少这两个服务的机会:
sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
80                         ALLOW       Anywhere                  
OpenSSH (v6)               ALLOW       Anywhere (v6)             
80 (v6)                    ALLOW       Anywhere (v6)
您现在应该可以访问GitLab Web界面。

通过Web界面执行初始配置

现在GitLab正在运行并且允许访问,我们可以通过Web界面执行一些应用程序的初始配置。

首次登录

在网络浏览器中访问您的GitLab服务器的域名:
http://gitlab_domain_or_IP
首次访问时,您应该会看到一个初始提示,用于为管理帐户设置密码: GitLab初始密码设置提示 在初始密码提示中,提供并确认管理帐户的安全密码。当您完成单击更改密码按钮。 您将被重定向到传统的GitLab登录页面: GitLab首次登录提示 在这里,您可以使用刚刚设置的密码登录。凭证是:
  • 用户名:
  • 密码:[您设置的密码]
这些值输入到现有用户的字段, 点击登录按钮。您将登录到应用程序并转到着陆页,提示您开始添加项目: GitLab初始登录登陆页面 您现在可以进行一些简单的更改,以获得GitLab设置您想要的方式。

调整配置文件设置

一个全新的安装后,你应该做的第一件事是让你的配置文件更好的形状。 GitLab选择一些合理的默认值,但这些通常不适合一旦你开始使用软件。 要进行必要的修改,请单击界面右上角的用户图标。在下拉出现菜单中选择配置文件设置GitLab配置文件设置按钮 你将被带到您设置的配置文件部分: GitLab配置文件设置页面 调整从“管理员”和“ 姓名电子邮件地址admin@example.com ”的东西更准确。您选择的名称将显示给其他用户,而电子邮件将用于默认头像检测,通知,通过界面的Git操作等。 当您完成单击底部的更新个人资料设置按钮: GitLab更新配置文件设置按钮 确认电子邮件将发送到您提供的地址。按照电子邮件中的说明确认您的帐户,以便您可以开始使用GitLab。

更改您的帐户名称

接下来,点击帐户菜单项,在页面的顶部: GitLab帐户菜单项 在这里,您可以找到您的私有API令牌或配置双因素身份验证。然而,我们目前感兴趣的功能更改用户名部分。 默认情况下,第一个管理员帐户被命名为 。由于这是一个已知的帐户名称,更安全的更改这个不同的名称。您仍将具有管理权限;唯一会改变的是名字: GitLab更改用户名部分 点击更新按钮, 用户名进行更改: GitLab更新用户名按钮 下次登录到GitLab时,请记住使用新的用户名。

向您的帐户添加SSH密钥

在大多数情况下,您将希望使用Git与SSH密钥与您的GitLab项目进行交互。为此,您需要将您的SSH公钥添加到您的GitLab帐户。 如果你已经有了一个SSH密钥对你的本地计算机上创建,通常可以查看通过键入公钥:
cat ~/.ssh/id_rsa.pub
你应该看到一大块文本,像这样:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMuyMtMl6aWwqBCvQx7YXvZd7bCFVDsyln3yh5/8Pu23LW88VXfJgsBvhZZ9W0rPBGYyzE/TDzwwITvVQcKrwQrvQlYxTVbqZQDlmsC41HnwDfGFXg+QouZemQ2YgMeHfBzy+w26/gg480nC2PPNd0OG79+e7gFVrTL79JA/MyePBugvYqOAbl30h7M1a7EHP3IV5DQUQg4YUq49v4d3AvM0aia4EUowJs0P/j83nsZt8yiE2JEYR03kDgT/qziPK7LnVFqpFDSPC3MR3b8B354E9Af4C/JHgvglv2tsxOyvKupyZonbyr68CqSorO2rAwY/jWFEiArIaVuDiR9YM5 sammy@mydesktop
复制此文本并返回GitLab的Web界面中的“配置文件设置”页面。 相反,如果你得到一个消息,看起来像这样,你还没有SSH密钥对你的机器上配置:
cat: /home/sammy/.ssh/id_rsa.pub: No such file or directory
如果是这种情况,您可以通过键入以下内容创建SSH密钥对:
ssh-keygen
接受默认值并可选地提供密码以在本地保护密钥:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/sammy/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/sammy/.ssh/id_rsa.
Your public key has been saved in /home/sammy/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:I8v5/M5xOicZRZq/XRcSBNxTQV2BZszjlWaIHi5chc0 sammy@gitlab.docsthat.work
The key's randomart image is:
+---[RSA 2048]----+
|          ..%o==B|
|           *.E =.|
|        . ++= B  |
|         ooo.o . |
|      . S .o  . .|
|     . + .. .   o|
|      +   .o.o ..|
|       o .++o .  |
|        oo=+     |
+----[SHA256]-----+
一旦你有了这一点,你可以显示你的公钥如上所示通过键入:
cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMuyMtMl6aWwqBCvQx7YXvZd7bCFVDsyln3yh5/8Pu23LW88VXfJgsBvhZZ9W0rPBGYyzE/TDzwwITvVQcKrwQrvQlYxTVbqZQDlmsC41HnwDfGFXg+QouZemQ2YgMeHfBzy+w26/gg480nC2PPNd0OG79+e7gFVrTL79JA/MyePBugvYqOAbl30h7M1a7EHP3IV5DQUQg4YUq49v4d3AvM0aia4EUowJs0P/j83nsZt8yiE2JEYR03kDgT/qziPK7LnVFqpFDSPC3MR3b8B354E9Af4C/JHgvglv2tsxOyvKupyZonbyr68CqSorO2rAwY/jWFEiArIaVuDiR9YM5 sammy@mydesktop
复制时显示的文本块,并返回到您的配置文件设置在GitLab的Web界面。 点击顶部菜单栏上的SSH密钥菜单项: GitLab SSH Keys菜单项 在提供空间粘贴从本地机器复制的公钥。给它一个描述性的标题,然后单击添加按键GitLab添加SSH密钥 您现在应该能够管理您的GitLab项目,并从本地计算机存储库,而无需提供您的GitLab帐户凭据。

限制或停用公开注册(可选)

您可能已经注意到,这是可能的,当你访问你的GitLab实例的着陆页任何人都可以注册一个账号。这可能是你想要的,如果你正在寻找托管公共项目。然而,很多时候,需要更严格的设置。 首先,用自己的方式本行政区域内通过点击在右上角的扳手图标GitLab管理区域按钮 在随后的页面上,您可以查看整个GitLab实例的概述。要调整设置,点击在右上角和选择设置在下拉菜单中显示的齿轮图标 :在写作(八月,2016年)的时候,有一个突出的与GitLab问题影响的设置图标在狭窄的屏幕宽度的知名度。如果您没有看到设置菜单,请尝试将浏览器窗口调整为全屏。您也可以通过直接访问您的GitLab的设置页解决此问题:
http://gitlab_domain_or_IP/admin/application_settings
GitLab管理设置按钮 您将转到GitLab实例的全局设置。在这里,你可以调整一些影响新用户是否可以注册并获得他们的水平会是怎样设置。

停用注册

如果你想完全禁用标志起坐(你仍然可以手动创建新的用户帐户),请在注册限制部分。 取消选择启用登录了复选框: GitLab取消选择注册已启用 向下滚动至底部,然后点击保存按钮: GitLab保存设置按钮 注册部分现在应该从GitLab登录页面中删除。

按域限制注册

如果您正在使用GitLab为提供与域关联的电子邮件地址的组织的一部分,您可以通过域注册后的完全禁用它们来代替。 在登录了限制部分,首先选择在登录框中发送确认邮件只允许用户登录,他们已经证实了他们的电子邮件后。 接下来,您的域名或域名添加到注册后即可使用中,每行一个列入白名单 。您可以使用星号“*”指定通配符域: GitLab按域限制注册 向下滚动至底部,然后点击保存按钮: GitLab保存设置按钮 注册部分现在应该从GitLab登录页面中删除。

限制项目创建

默认情况下,新用户最多可以创建10个项目。如果你希望允许来自外部的可见性和参与新用户,但要限制他们创建新项目的访问,您可以在账户和限额设置部分这样做。 在里面,你可以创建项目更改默认的项目限制为0,以完全禁用新用户: GitLab将项目设置为零 新用户仍然可以手动添加到项目,并且可以访问其他用户创建的内部或公共项目。 向下滚动至底部,然后点击保存按钮: GitLab保存设置按钮 新用户现在可以创建帐户,但是无法创建项目。

结论

您现在应该有一个工作的GitLab实例托管在您自己的服务器上。您可以开始导入或创建新项目,并为您的团队配置适当的访问级别。 在进一步深入之前,应该为GitLab服务器配置SSL加密。没有SSL保护,您的密码和私人详细信息可以被网络上的任何人拦截。幸运的是,使用Let's Encrypt等项目,获得免费的,由浏览器信任的SSL证书是相对直接的。要了解如何让你的GitLab比如设置了一个SSL证书,请按照我们的指导如何使用让我们的加密保护GitLab