GitLab 是一个基于网络的开源Git存储库管理器编写为Ruby包括 wiki、问题管理、代码审查、监控以及持续集成和部署。它使开发人员能够构建、部署和运行他们的应用程序。
GitLab 提供三种不同版本:社区版 (CE)、企业版 (EE) 和 GitLab 托管版本。
如果您想将您的项目从GitHub那么,你绝对应该尝试 GitLab。它可以从包括 GitHub 在内的不同来源导入项目和问题,这使得迁移过程变得轻松无忧。 GitLab 界面设计精良、干净、直观,在用户体验和功能方面与 GitHub 接近。
根据您的要求和偏好,有多种安装 GitLab 的方法。本教程介绍了使用 Omnibus 软件包在 CentOS 7 系统上安装和配置 GitLab (CE) 所需的步骤。
先决条件#
本教程假设您安装了全新的 CentOS 7。
根据GitLab 要求页面,建议使用具有以下功能的服务器:
- 至少 4GBRAM内存
.
- 2 个 CPU 核心。
- 至少 2GB交换空间
.
- (可选)指向服务器 IP 地址的域或子域。
为了获得额外的安全层,建议设置一个基本的firewall
.
您登录时必须拥有的用户须藤权限能够安装软件包。
安装所需的依赖项#
使用以下命令刷新本地包索引并安装依赖项:
sudo yum install curl policycoreutils-python openssh-server
为了让 GitLab 能够发送通知电子邮件,您可以安装并使用 Postfix 或使用一些事务性邮件服务,例如 SendGrid、MailChimp、MailGun 或 SES,在这种情况下您可以跳过以下步骤并配置 [GitLab 的 SMTP 设置]
(https://docs.gitlab.com/omnibus/settings/smtp.html)安装完成后。
运行以下命令在 CentOS 服务器上安装 Postfix:
sudo yum install postfix
在安装过程中,系统会要求您选择邮件服务器配置类型。默认选项是Internet Site
。这是推荐的选项,只需按一下TAB
, then ENTER
.
接下来,系统会提示您输入System mail name
这应该与您的服务器相同hostname
.
安装完成后,通过运行以下命令启动并启用 postfix 服务:
sudo systemctl start postfix
sudo systemctl enable postfix
安装 GitLab#
GitLab 安装是一个非常简单的过程。我们将使用以下命令安装 GitLab CE 包yum
包管理器。
首先使用以下命令将 GitLab 存储库添加到系统源列表中卷曲命令
:
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
该脚本将启用存储库并安装必要的依赖项。完成后,通过运行以下命令安装 GitLab 包:
sudo yum install gitlab-ce
系统将提示您接受 GitLab 存储库 GPG 密钥。类型y
并按Enter
.
安装过程可能需要一段时间,安装成功后,您将看到以下输出:
Thank you for installing GitLab!
...
Complete!
调整防火墙规则#
有关设置基本防火墙的指南位于先决条件部分中。为了能够访问 GitLab 界面,您需要打开端口80
and 443
。为此,请运行以下命令:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
设置 GitLab URL#
在访问 GitLab Web 界面之前,我们需要设置可访问 GitLab 的 URL。打开Gitlab的配置文件并进行以下更改:
sudo vim /etc/gitlab/gitlab.rb
在配置文件顶部附近,您将看到一行以external_url
。更改值以匹配您的域/子域或 IP 地址。如果您有域名使用https
如果您想通过服务器 IP 地址访问 GitLab 界面,请使用http
.
/etc/gitlab/gitlab.rb
external_url 'https://gitlab.example.com'
Next search对于“Let’s Encrypt 集成”,取消注释以letsencrypt['enable']
并将其设置为 true。或者,如果您想接收来自 Let’s Encrypt 的有关您的域的电子邮件,请取消注释以letsencrypt['contact_emails']
并添加您的电子邮件地址。
如果您设置external_url
到 IP 地址,那么您不应启用 Let’s Encrypt 集成。
/etc/gitlab/gitlab.rb
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['admin@example.com'] # This should be an array of email addresses to add as contacts
最后保存并关闭文件并运行以下命令重新配置 Gitlab:
sudo gitlab-ctl reconfigure
该命令将重新配置 GitLab 设置并生成免费的 Let’s encrypt SSL 证书。
现在您已经配置了 GitLab URL,您可以通过 GitLab Web 界面开始初始配置。
启动你的网页浏览器并导航至:
https://your_gitlab_domain_or_server_IP.com
1.设置管理账户密码#
第一次访问 Web 界面时,系统会提示您设置管理帐户的密码。
输入安全密码并单击Change your password
完成后按钮。
您将被重定向到登录页面:
默认管理帐户用户名是root
。在本教程的后面部分,我们将向您展示如何更改用户名。
输入登录凭据,单击Sign in
按钮,您将被重定向到 GitLab 欢迎页面。
2. 编辑用户资料#
您要做的第一件事是编辑您的用户个人资料。单击用户头像(右上角),然后从下拉菜单中选择Settings
:
您可以在此处更改您的姓名、电子邮件和其他个人资料信息和设置。根据您的喜好进行更改。
完成后,单击Update Profile settings
按钮,很快您就会收到一封确认电子邮件到您提供的地址。要确认您的帐户,请按照电子邮件中提供的说明进行操作。
3. 更改用户名#
要访问个人资料页面,请单击Account
来自左侧垂直导航菜单的链接。
如您所知,第一个管理帐户的默认用户名是root
。要更改它,只需输入您的新用户名,然后单击Update username
button.
在此屏幕上,您还可以启用双因素身份验证。
下次登录 GitLab 仪表板时,您将需要输入新用户名。
4. 添加 SSH 密钥#
为了能够将本地 git 更改推送到 GitLab 服务器,您需要将 SSH 公钥添加到您的 GitLab 帐户。
如果您已在本地系统上创建了 SSH 密钥对,则可以通过键入以下内容来显示公钥:
cat ~/.ssh/id_rsa.pub
输出应如下所示:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDd/mnMzHwjUzK8g3ldfsfRpJuC16mhWamaXRk8ySQrD/dzpbRLfDnZsLxCzRoq+ZzFHGwcQlJergtergdHGRrO8FE5jl3IWRRp+mP12qYw== admin@linuxize.com
如果上面的命令打印No such file or directory
这意味着您的计算机上没有生成 SSH 密钥对。
To 生成新的 SSH 密钥对使用以下命令:
ssh-keygen -t rsa -b 4096 -C "your_email@domain.com"
复制输出猫命令并返回 GitLab 的 Web 界面。点击SSH Keys
从左侧垂直导航菜单访问 SSH 密钥配置页面。
In the Key
textarea 粘贴您之前从本地计算机复制的公钥,设置描述性标题,然后单击Add key
button:
现在,您应该能够从本地计算机推送和拉取项目更改,而无需提供您的 GitLab 帐户凭据。
结论#
本教程引导您完成在 CentOS 7 上安装和配置 GitLab。您还学习了如何编辑配置文件设置、如何更改用户名和添加 SSH 密钥。您现在可以创建您的第一个项目并开始使用 GitLab。
如果您有疑问,请随时在下面发表评论。