如何在centos8上安装和配置GitLab CE
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步骤
安装程序包依赖项
添加存储库并安装GitLab CE(Community Edition)
生成SSL Letsencrypt和DHPARAM证书
为GitLab启用Nginx HTTPS
配置防火墙
GitLab后安装
测试
步骤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的安装和配置。