在CentOS 8/Rhel 8上安装和配置Gitlab

时间:2020-02-23 14:38:31  来源:igfitidea点击:

我如何在CentOS 8/Rhel 8上安装Gitlab?
Gitlab是一种强大而开源的基于Git的基于Git的平台,可加速软件开发和协作。
它提供了Scratch功能,如集成的CI/CD,Auto Devops,Kubernetes集成,Gitlab容器注册表等在本文中,我们将在CentOS 8/RHEL 8上探讨Gitlab CE以及配置/使用它的基础知识。

Gitlab在其他平台上的显着优势是开源许可证提供的功能和集成的Myriad。
其他平台将肯定会在Gitlab上提供一些功能。
有了这一说,让我们看看如何在CentOS/RHEL 8上安装和配置Gitlab。

遍布所有操作系统,Gitlab有两个不同的产品:

Gitlab Community Edition(CE) - Freef for Useggitlab企业版(EE) - 需要购买许可证使用。

值得注意的是,通过移动到订阅(EE)可以解锁更多功能。
查看Gitlab订阅的详细信息。

第1步:更新系统并安装依赖项

更新系统并安装所需的依赖项:

sudo yum -y update
sudo yum -y install curl vim policycoreutils python3-policycoreutils

如果要安装和使用本地邮件服务器以发送通知,请安装Postfix:

sudo yum -y install postfix

安装后启动并启用Postfix服务。

sudo systemctl enable postfix && sudo systemctl start postfix

有关设置Gitlab后的外部电子邮件中继服务的配置,请跳过此步骤并检查如何配置外部SMTP服务器。

第2步:添加Gitlab CE存储库

Gitlab从存储库提供omnibus包。
这些软件包专门为CentOS/RHEL编译。

为此目的提供脚本。

curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

如果脚本执行成功,我们将获得类似于下面的输出。

Complete!
Generating yum cache for gitlab_gitlab-ce...
Importing GPG key 0xE15E78F4:
 Userid     : "GitLab B.V. (package repository signing key) <Hyman@theitroad>"
 Fingerprint: 1A4C 919D B987 D435 9396 38B9 1421 9A96 E15E 78F4
 From       : https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey
Importing GPG key 0xF27EAB47:
 Userid     : "GitLab, Inc. <Hyman@theitroad>"
 Fingerprint: DBEF 8977 4DDB 9EB3 7D9F C3A0 3CFC F9BA F27E AB47
 From       : https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey/gitlab-gitlab-ce-3D645A26AB9FBD22.pub.gpg
Generating yum cache for gitlab_gitlab-ce-source...

为GPG键做同样的事情。

: NOKEY
gitlab_gitlab-ce                           1.9 kB/s | 1.7 kB     00:00    
Importing GPG key 0xE15E78F4:
 Userid     : "GitLab B.V. (package repository signing key) <Hyman@theitroad>"
 Fingerprint: 1A4C 919D B987 D435 9396 38B9 1421 9A96 E15E 78F4
 From       : https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey
Is this ok [y/N]: y
Key imported successfully
gitlab_gitlab-ce                                                                                                        4.5 kB/s | 3.9 kB     00:00    
Importing GPG key 0xF27EAB47:
 Userid     : "GitLab, Inc. <Hyman@theitroad>"
 Fingerprint: DBEF 8977 4DDB 9EB3 7D9F C3A0 3CFC F9BA F27E AB47
 From       : https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey/gitlab-gitlab-ce-3D645A26AB9FBD22.pub.gpg
Is this ok [y/N]: y

第3步:在CentOS 8/Rhel 8上安装Gitlab CE

通过运行命令安装Gitlab CE:

sudo yum install gitlab-ce

点击y开始在CentOS 8/Rhel 8上安装Gitlab CE。

Last metadata expiration check: 0:03:51 ago on Mon 09 Mar 2017 09:02:50 PM EAT.
Dependencies resolved.
========================================================================================================================================================
 Package                          Architecture                  Version                                   Repository                               Size
========================================================================================================================================================
Installing:
 gitlab-ce                        x86_64                        12.8.5-ce.0.el8                           gitlab_gitlab-ce                        733 M
Transaction Summary
========================================================================================================================================================
Install  1 Package
Total download size: 733 M
Installed size: 1.6 G
Is this ok [y/N]: y

第4步:在CentOS 8/Rhel 8上配置Gitlab CE

我们的安装完成了,然后我们可以执行适用于环境的Gitlab配置。
Gitlab的主要配置文件位于/etc/gitlab/gitlab.rb下。

sudo vi /etc/gitlab/gitlab.rb

例如,设置Gitlab将无法访问的URL:

external_url 'http://gitlab.example.com'

滚动配置文件并相应地进行更改。
完成后,保存文件并运行Gitlab重新配置脚本。

sudo gitlab-ctl reconfigure

这将启动Chef本地执行来配置Gitlab。
成功的重新配置显示了下面的输出。

如果我们有活动防火墙,请允许HTTP,HTTPS和SSH服务。

sudo firewall-cmd --permanent --add-service={ssh,http,https} --permanent
sudo firewall-cmd --reload

第4步:访问Gitlab Web控制台

打开浏览器并转到URL http://gitlab.example.com完成Gitlab的安装。

我们被要求为帐户创建新密码。
为root用户设置新密码,然后单击"更改密码"。

然后,我们可以使用上面的root用户名和密码登录。
登录后,应将我们重定向到Gitlab管理仪表板。

第5步:禁用用户注册(推荐)

默认情况下,Gitlab允许新用户注册,通常情况下,由于用户由Sysadmin或者从LDAP等外部认证系统中拉动的用户信息手动创建用户。

我们可以禁用此设置以具有安全的访问管理。
看:

如何在登录页面上禁用Gitlab用户注册

第6步:使用SSL证书安全地理标签(推荐)

SSL是用于安全访问Internet服务的Defacto协议。
我们可以使用免费的SSL证书,例如Let’s Encrypt 以保护Gitlab服务器。
请参阅下面的前一张教程。

如何使用SSL证书保护Gitlab Server

步骤7:启用LDAP身份验证(可选)

对于使用LDAP作为验证方法的人来说,Gitlab可以配置为使用诸如FreeIPA的LDAP服务器来验证用户。