如何在centos8上安装和配置GitLab CE

时间:2019-04-29 03:17:11  来源:igfitidea点击:

GitLab是一个基于GitLab公司开发的基于Rails的开源存储库管理器。它是一个基于web的git存储库管理器,允许团队在编码、测试和部署应用程序方面进行协作。GitLab提供了几个特性,包括wiki、问题跟踪、代码评审和活动提要。

GitLab公司提供4种产品:

Gitlab CE(Community Edition)-自行托管,免费;社区论坛提供支持。

Gitlab EE(企业版)-自托管和付费;附带添加功能。

GitLab.com网站-SaaS和免费。

GitLab.io-GitLab Inc.管理的私有GitLab实例。

在本教程中,我们将向我们展示如何在CentOS 8服务器上安装GitLab CE。我们将使用GitLab提供的“omnibus”包安装GitLab CE,对GitLab进行一些基本配置,并测试以创建一个新的GitLab项目。

准备工作

对于本指南,我们将在最新版本的CentOS 8服务器上安装GitLab CE,该服务器具有4GB的RAM、30GB的可用磁盘空间和2个CPU。

在centos8上安装Gitlab CE步骤

  1. 安装程序包依赖项

  2. 添加存储库并安装GitLab CE(Community Edition)

  3. 生成SSL Letsencrypt和DHPARAM证书

  4. 为GitLab启用Nginx HTTPS

  5. 配置防火墙

  6. GitLab后安装

  7. 测试

步骤1-安装包依赖项

首先,我们将安装一些GitLab需要的包依赖项,包括OpenSSH包和Postfix。

使用下面的dnf命令为GitLab CE安装包依赖项。

$ sudo dnf -y install curl policycoreutils openssh-server openssh-clients postfix

完成所有安装后,启动SSH和Postfix服务。

$ systemctl start sshd

$ systemctl start postfix

接下来,将这两个服务添加到系统开机自启动。

$ systemctl enable sshd

$ systemctl enable postfix

包依赖项的安装已经完成。

第2步-添加存储库并安装GitLab

在这一步中,我们将把GitLab官方存储库添加到centos8系统中,并安装GitLab CE包。

使用下面的安装程序脚本添加GitLab存储库。

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

一旦全部完成,下面是我们将得到的结果。

$ Generating yum cache for gitlab_gitlab-ce...

Importing GPG key 0x51312F3F:

 Userid     : "GitLab B.V. (package repository signing key) <Hyman@theitroad>"

 Fingerprint: F640 3F65 44A3 8863 DAA0 B6E0 3F01 618A 5131 2F3F

 From       : https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey

Importing GPG key 0xF27EAB47:

 Userid     : "GitLab, Inc. <sHyman@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...

$ The repository is setup! You can now install packages.

要验证GitLab存储库,请运行下面的dnf命令。

$ sudo dnf repolist

接下来,使用命令安装GitLab CE包

$ sudo dnf install gitlab-ce -y

GitLab CE Community Edition现在安装在CentOS 8系统上。

步骤3-生成SSL Letsencrypt和DHPARAM

在本教程中,我们将在安全的HTTPS连接上运行GitLab,我们将使用来自Letsencrypt和DHAPRAM的SSL Letsencrypt,它可以使用openssl命令生成。

在这一步中,我们将使用certbot命令行工具生成sslletsencrypt,该工具可以从EPEL存储库安装,然后使用openssl生成DHPARAM证书。

使用下面的命令将EPEL存储库添加到CentOS 8系统。

$ sudo dnf install epel-release

接下来,使用下面的dnf命令安装certbot包。

$ sudo dnf install certbot

完成所有安装后,使用下面的certbot命令为GitLab生成SSL Letsencryp。

$ certbot certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email Hyman@theitroad -d gitlab.Hymanhome.io

现在SSL证书将在'/etc/letsencrypt/live上提供/gitlab.Hyman-io实验室'目录,请使用以下命令进行检查。

$ ls -lah /etc/letsencrypt/live/gitlab.Hymanhome.io/

得到'fullchain.pem''和 'privkey.pem'证书。

接下来,使用下面的openssl命令将DHPARAM证书生成到“/etc/gitlab”目录。

$ sudo openssl dhparam -out /etc/gitlab/dhparams.pem 2048

完成所有操作后,更改证书'dhparam.pem'的权限到'0600'。

$ sudo chmod 600 /etc/gitlab/dhparams.pem

GitLab的SSL Letsencrypt和DHPARAM证书已经生成。

步骤4-为GitLab设置域名在Nginx中启用HTTPS

在这一步中,我们将设置域名并为GitLab启用Nginx HTTPS安全连接。

转到“/etc/gitlab”目录并编辑配置文件'gitlab.rb'。

$ cd /etc/gitlab/

vim gitlab.rb

在“external_url”行中,用自己的域名更改默认域名,并将http改为https协议,如下所示。

$ external_url 'https://gitlab.Hymanhome.io'

接下来,在“external_url”行后面添加以下配置,并确保用自己的配置更改SSL和DHPARAM证书。

$ nginx['redirect_http_to_https'] = true

nginx['ssl_certificate'] = "/etc/letsencrypt/live/gitlab.Hymanhome.io/fullchain.pem"

nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/gitlab.Hymanhome.io/privkey.pem"

nginx['ssl_dhparam'] = "/etc/gitlab/dhparams.pem"

保存并关闭。

接下来,运行以下命令重新配置GitLab并应用新配置。

$ sudo gitlab-ctl reconfigure

该命令将调用驱动Omnibus GitLab的Chef脚本来重新配置GitLab安装。

完成所有操作后,进入下一步。

步骤5-配置Firewalld

在GitLab上启用HTTPS之后,我们将把HTTP和HTTPS服务添加到firewalld中。

运行下面的firewall cmd命令。

$ firewall-cmd --add-service=ssh --permanent

firewall-cmd --add-service=http --permanent

firewall-cmd --add-service=https --permanent

之后,重新加载firewalld服务以应用新的配置。

$ firewall-cmd --reload

现在使用下面的命令检查firewalld上的所有服务。

$ firewall-cmd --list-services

现在我们将获得列表中的SSH、HTTP和HTTPS服务。

现在,所有的HTTP和gita服务都可以访问了。

步骤6-GitLab后续安装

打开web浏览器,在地址栏上键入GitLab域名安装。https://gitlab.Hymanhome.io/

我们将被重定向到重置密码页面。

-GitLab重置默认密码

键入默认GitLab用户“root”的新密码。

现在单击“更改密码”按钮,我们将被重定向到GitLab登录页面。

输入默认用户“root”和密码,然后单击“Sign-in”按钮,我们将获得如下GitLab控制面板。

更改配置文件和用户名

登录到GitLab控制面板后,用自己的用户更改默认的“root”用户。

要更改配置文件设置,请单击图标配置文件右上角,然后单击“设置”图标来设置配置文件。

现在输入新用户名和电子邮件地址,然后滚动到底部页面并单击“更新配置文件设置”按钮。

接下来,单击“Account”选项卡,用自己的用户名更改默认用户名“root”,然后单击“update username”按钮。

现在,root用户的默认用户名和电子邮件地址已更改。

添加SSH密钥

现在我们将向GitLab添加SSH密钥。确保我们有SSH密钥,如果没有,可以使用以下命令生成SSH密钥。

$ ssh-keygen

现在,我们将在用户主目录中的“~/.ssh”目录中生成SSH密钥。

下一步,返回GitLab控制面板并单击“SSH Keys”选项卡菜单。

复制SSH公钥' ~/.ssh/id_rsa.pub' 并粘贴到GitLab页面,然后单击“addkey”按钮。

因此,SSH密钥被添加到GitLab中。

设置每个帐户的项目限制

在顶部中间菜单上,单击“设置”按钮。

现在单击“Settings”>“General”,在“Account and limit”部分,单击“Expand”。

根据需要更改“default projects limit”,然后单击“Save”按钮。

现在,每个帐户的默认项目限制都已更改。

步骤7-创建新项目并提交

在这一步中,我们将通过创建一个新的GitLab项目来测试GitLab安装。

创建新的GitLab项目

要在GitLab上创建一个新项目,请单击右上角菜单上的“+”插件按钮。

现在键入项目名称、项目slug和描述的详细信息,然后单击“create project”按钮。

新的GitLab项目已经创建。

在你的笔记本电脑上安装GitLab

在GitLab上创建新项目后,我们将在本地计算机上设置GitLab帐户。

打开终端并运行以下git命令来设置git的默认用户和电子邮件地址。

$ git config --global user.name "Hyman"

git config --global user.email "Hyman@theitroad"

下一步,将GitLab项目克隆到本地计算机目录并进入该目录。

$ git clone https://gitlab.hakase-labs.io/hakase/test-project.git

cd test-project/

现在,Git的默认用户和电子邮件已经配置好,GitLab项目也被克隆到本地计算机上。

做个修改并提交它

现在我们在本地计算机上有了GitLab项目,我们将测试以更改'自述文件.md'文件并对GitLab项目进行第一次提交。

编辑'README.md'文件

$ vim README.md

现在对文件进行更改,然后保存并关闭。

之后,使用下面的命令添加'README.md'新版本并提交”。

$ git add .

git commit -m "Change README.md"

现在使用下面的git push命令将新更改推送到GitLab存储库。

$ git push origin master

'README.md' 文件的新修改已被推送到GitLab存储库。

接下来,回到web浏览器上的GitLab存储库,我们将在顶部看到带有提交注释的新版本的'README.md'文件。

我们成功地创建了一个新的GitLab项目并对其进行了更改。

最后,我们成功地在centos8服务器上完成了GitLab的安装和配置。