GitLab是一个基于Web的开源 Git 存储库管理器,以 Ruby 编写,包括Wiki,问题管理,代码审查,监视以及持续集成和部署。它使开发人员能够构建,部署和运行他们的应用程序。
可以使用三种不同版本的GitLab:社区版(CE),企业版(EE)和GitLab托管的版本。
如果您想将项目从 GitHub 移开,则绝对应该尝试使用GitLab。它可以从包括GitHub在内的不同来源导入项目和问题,这使迁移过程轻松自如。 GitLab界面经过精心设计,简洁,直观,并且在用户体验和功能方面与GitHub十分接近。
有多种安装GitLab的方法,具体取决于您的要求和偏好。本教程介绍了使用Omnibus软件包在CentOS 7系统上安装和配置GitLab(CE)的必要步骤。
先决条件
本教程假定您已全新安装CentOS7。
根据 GitLab要求页面,建议使用具有以下功能的服务器:
为了增加安全性,建议设置基本防火墙。您可以按照如何在CentOS 7上使用FirewallD设置防火墙中的步骤进行操作。
您所登录的用户必须具有 sudo特权,才能安装软件包。
安装必需的依赖项
刷新本地软件包索引并使用以下命令安装依赖项:
sudo yum install curl policycoreutils-python openssh-server
为了使GitLab能够发送通知电子邮件,您可以安装并使用Postfix或使用某些事务性邮件服务,例如SendGrid,MailChimp,MailGun或SES,在这种情况下,您可以跳过此步骤并配置安装完成后,] GitLab的SMTP设置。
运行以下命令以在您的CentOS服务器上安装Postfix:
sudo yum install postfix
在安装过程中,将要求您选择邮件服务器配置类型。默认选项是Internet Site
。建议的方法是按TAB
,然后按ENTER
。
接下来,系统将提示您输入System mail name
,该名称应与服务器主机名相同。
安装完成后,通过运行以下命令启动并启用后缀服务:
sudo systemctl start postfix
sudo systemctl enable postfix
安装GitLab
安装GitLab是一个非常简单的过程。我们将使用yum
软件包管理器安装GitLab CE软件包。
首先使用以下 curl命令将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
和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 nano /etc/gitlab/gitlab.rb
在配置文件的顶部附近,您会看到以external_url
开头的行。更改值以匹配您的域/子域或IP地址。如果您有域使用https
,并且要通过服务器IP地址访问GitLab接口,请使用http
。
/etc/gitlab/gitlab.rb
external_url 'https://gitlab.example.com'
接下来搜索“让我们进行加密集成”,取消注释以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设置,并生成一个免费的“让我们加密SSL”证书。
通过Web界面配置GitLab
现在,您已经配置了GitLab URL,您可以通过GitLab Web界面以初始配置开始。
启动您的网络浏览器,然后导航至:
https://your_gitlab_domain_or_server_IP.com
1.设置管理帐户密码
首次访问网络界面时,系统会提示您设置管理帐户的密码。
输入安全密码,完成后单击Change your password
按钮。
您将被重定向到登录页面:
默认管理帐户用户名是root
。在本教程的后面,我们将向您展示如何更改用户名。
- 用户名:root
- 密码:[您设置的密码]
输入登录凭据,单击Sign in
按钮,您将被重定向到GitLab欢迎页面。
2.编辑用户个人资料
您要做的第一件事就是编辑您的用户个人资料。单击用户头像(右上角),然后从下拉菜单中选择Settings
:
您可以在此处更改姓名,电子邮件以及其他个人资料信息和设置。根据您的喜好进行更改。
完成后,单击Update Profile settings
按钮,不久您将收到一封确认电子邮件,其中包含您提供的地址。要确认您的帐户,请按照电子邮件中的说明进行操作。
3.更改用户名
要访问“个人资料”页面,请单击左侧垂直导航菜单中的Account
链接。
如您所知,第一个管理帐户的默认用户名是root
。要更改它,只需键入新的用户名,然后单击Update username
按钮。
在此屏幕上,您还可以启用双重身份验证。
下次登录GitLab信息中心时,您需要输入新的用户名。
4.添加SSH密钥
为了将本地git更改推送到GitLab服务器,您需要将SSH公钥添加到GitLab帐户。
如果您已经在本地系统上创建了SSH密钥对,则可以通过键入以下内容来显示公共密钥:
cat ~/.ssh/id_rsa.pub
输出应类似于以下内容:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDd/mnMzHwjUzK8g3ldfsfRpJuC16mhWamaXRk8ySQrD/dzpbRLfDnZsLxCzRoq+ZzFHGwcQlJergtergdHGRrO8FE5jl3IWRRp+mP12qYw== admin@myfreax.com
如果上面的命令显示No such file or directory
,则表明您的计算机上没有生成SSH密钥对。
要生成新的SSH密钥对,请使用以下命令:
ssh-keygen -t rsa -b 4096 -C "your_email@domain.com"
复制 cat命令的输出,然后返回到GitLab的网络界面。从左侧垂直导航菜单中单击SSH Keys
以访问SSH密钥配置页面。
在Key
文本区域中,粘贴您先前从本地计算机复制的公共密钥,设置一个描述性标题,然后单击Add key
按钮:
现在,您无需提供GitLab帐户凭据即可从本地计算机推送和拉出项目更改。
结论
本教程向您介绍了CentOS 7上GitLab的安装和配置。您还学习了如何编辑配置文件设置,如何更改用户名和添加SSH密钥。现在,您可以创建第一个项目并开始使用GitLab。
如果您有任何疑问,请在下面发表评论。