如何在 Alma Linux 8 上安装 GitLab?

  • Post author:
  • Post category:linux


GitLab 是一款免费的开源 DevOps 软件,它附带多种工具,可在单个应用程序中开发、保护和操作软件。它提供免费的无限存储库和无限的协作者。它主要用于托管 Git 存储库,并具有其他与开发相关的功能,例如问题跟踪。它与 Github 和 Bitbucket 非常相似,允许个人和团队与他人远程共享代码。

GitLab 有四个主要版本:


  • GitLab 社区版

    – 免费、开源和自托管。

  • GitLab 企业版

    – 自托管和付费附加功能。

  • GitLab.com

    – 免费和 SaaS。

  • GitLab.io

    – 由 GitLab Inc. 管理的私有 GitLab 实例。

在这篇文章中,我们将解释如何在 Alma Linux 8 上安装 GitLab CE。



先决条件

  • 运行 Alma Linux 8 的服务器。
  • 使用您的服务器 IP 指向的有效域名。
  • 在服务器上配置了 root 密码。



添加 GitLab CE 存储库

默认情况下,GitLab 包不包含在 Alma Linux 默认存储库中。因此,您需要将 GitLab 官方存储库添加到您的系统中。您可以下载并添加以下脚本以添加 GitLab 存储库。

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

您将获得以下输出:

Complete!
Generating yum cache for gitlab_gitlab-ce...
Importing GPG key 0x51312F3F:
 Userid     : "GitLab B.V. (package repository signing key) <packages@gitlab.com>"
 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. <support@gitlab.com>"
 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.

您可以使用以下命令验证已安装的存储库:

cat /etc/yum.repos.d/gitlab_gitlab-ce.repo

您将获得以下输出:

[gitlab_gitlab-ce]
name=gitlab_gitlab-ce
baseurl=https://packages.gitlab.com/gitlab/gitlab-ce/el/8/$basearch
repo_gpgcheck=1
gpgcheck=1
enabled=1
gpgkey=https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey
       https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey/gitlab-gitlab-ce-3D645A26AB9FBD22.pub.gpg
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

[gitlab_gitlab-ce-source]
name=gitlab_gitlab-ce-source
baseurl=https://packages.gitlab.com/gitlab/gitlab-ce/el/8/SRPMS
repo_gpgcheck=1
gpgcheck=1
enabled=1
gpgkey=https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey
       https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey/gitlab-gitlab-ce-3D645A26AB9FBD22.pub.gpg
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

您还可以使用以下命令列出 GitLab 存储库:

dnf repolist

您将获得以下输出:

repo id                                                               repo name
appstream                                                             Rocky Linux 8 - AppStream
baseos                                                                Rocky Linux 8 - BaseOS
extras                                                                Rocky Linux 8 - Extras
gitlab_gitlab-ce                                                      gitlab_gitlab-ce
gitlab_gitlab-ce-source                                               gitlab_gitlab-ce-source



在 Alma Linux 8 上安装 GitLab CE

此时,GitLab 存储库已在您的系统上创建。您现在可以通过运行以下命令来安装 GitLab CE:

dnf install gitlab-ce -y

安装 GitLab CE 后,您将获得以下输出:

It looks like GitLab has not been configured yet; skipping the upgrade script.

       *.                  *.
      ***                 ***
     *****               *****
    .******             *******
    ********            ********
   ,,,,,,,,,***********,,,,,,,,,
  ,,,,,,,,,,,*********,,,,,,,,,,,
  .,,,,,,,,,,,*******,,,,,,,,,,,,
      ,,,,,,,,,*****,,,,,,,,,.
         ,,,,,,,****,,,,,,
            .,,,***,,,,
                ,*,.
  


     _______ __  __          __
    / ____(_) /_/ /   ____ _/ /_
   / / __/ / __/ /   / __ `/ __ \
  / /_/ / / /_/ /___/ /_/ / /_/ /
  \____/_/\__/_____/\__,_/_.___/
  

Please configure a URL for your GitLab instance by setting `external_url`
Thank you for installing GitLab!
GitLab was unable to detect a valid hostname for your instance.
configuration in /etc/gitlab/gitlab.rb file.
Then, you can start your GitLab instance by running the following command:
  sudo gitlab-ctl reconfigure

For a comprehensive list of configuration options please see the Omnibus GitLab readme
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md

Help us improve the installation experience, let us know how we did with a 1 minute survey:
https://gitlab.fra1.qualtrics.com/jfe/form/SV_6kVqZANThUQ1bZb?installation=omnibus&release=14-8


  Verifying        : gitlab-ce-14.8.2-ce.0.el8.x86_64                       1/1 

Installed:
  gitlab-ce-14.8.2-ce.0.el8.x86_64                                              

Complete!



配置 GitLab CE

接下来,您需要在 GitLab 配置文件中定义您的域名。为此,请编辑 GitLab 配置文件:

nano /etc/gitlab/gitlab.rb

使用您的域名更改以下行:

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

保存并关闭文件,然后使用以下命令重新配置 GitLab:

gitlab-ctl reconfigure

重新配置 GitLab CE 后,您将获得以下输出:

Notes:
Default admin account has been configured with following details:
Username: root
Password: You didn't opt-in to print initial root password to STDOUT.
Password stored to /etc/gitlab/initial_root_password. This file will be cleaned up in first reconfigure run after 24 hours.

NOTE: Because these credentials might be present in your log files in plain text, it is highly recommended to reset the password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.

gitlab Reconfigured!

您现在可以使用以下命令检查 GitLab CE 的状态:

gitlab-ctl status

您将获得以下输出:

run: gitaly: (pid 26684) 69s; run: log: (pid 25075) 351s
run: gitlab-exporter: (pid 26617) 73s; run: log: (pid 25555) 207s
run: gitlab-kas: (pid 26585) 75s; run: log: (pid 25339) 334s
run: gitlab-workhorse: (pid 26595) 74s; run: log: (pid 25472) 229s
run: grafana: (pid 26665) 70s; run: log: (pid 26315) 110s
run: logrotate: (pid 25000) 364s; run: log: (pid 25008) 363s
run: nginx: (pid 25488) 226s; run: log: (pid 25499) 222s
run: node-exporter: (pid 26603) 74s; run: log: (pid 25541) 213s
run: postgres-exporter: (pid 26659) 70s; run: log: (pid 25891) 168s
run: postgresql: (pid 25207) 341s; run: log: (pid 25218) 340s
run: prometheus: (pid 26631) 72s; run: log: (pid 25629) 194s
run: puma: (pid 25406) 249s; run: log: (pid 25417) 246s
run: redis: (pid 25039) 358s; run: log: (pid 25047) 357s
run: redis-exporter: (pid 26620) 73s; run: log: (pid 25575) 201s
run: sidekiq: (pid 25423) 243s; run: log: (pid 25435) 239s

要停止 GitLab,请运行以下命令:

gitlab-ctl stop

要启动 GitLab,请运行以下命令:

gitlab-ctl start

完成后,您可以继续下一步。



配置防火墙

接下来,您需要允许 HTTP 服务通过 firewalld。您可以使用以下命令允许它:

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

接下来,重新加载 firewalld 守护进程以应用更改:

systemctl reload firewalld

配置防火墙后,您可以继续下一步。



访问 GitLab CE

在访问 GitLab CE 之前,使用以下命令检索 GitLab 根密码:

cat /etc/gitlab/initial_root_password

您应该在以下输出中看到 GitLab CE 根密码:

# WARNING: This value is valid only in the following conditions
#          1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails['initial_root_password']` setting in `gitlab.rb`, it was provided before database was seeded for the first time (usually, the first reconfigure run).
#          2. Password hasn't been changed manually, either via UI or via command line.
#
#          If the password shown here doesn't work, you must reset the admin password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.

Password: XIlQ4/J7oQ49ZdNuGZto3f5vEJGHZJSTRSIuYL9z0/k=

# NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.

现在,打开您的 Web 浏览器并使用 URL http://gitlab.example.com访问 GitLab Web 界面。您将被重定向到 GitLab 登录页面:

提供您的 root 用户名和密码,然后单击登录按钮。您应该在以下页面上看到 GitLab Web 界面:



配置 GitLab 备份

GitLab 还允许您创建 GitLab 实例的备份。要创建 GitLab 实例的备份,请运行以下命令:

gitlab-rake gitlab:backup:create

创建备份后,您将获得以下输出:

2022-03-11 11:13:11 +0000 -- done
2022-03-11 11:13:11 +0000 -- Dumping uploads ... 
2022-03-11 11:13:11 +0000 -- done
2022-03-11 11:13:11 +0000 -- Dumping builds ... 
2022-03-11 11:13:11 +0000 -- done
2022-03-11 11:13:11 +0000 -- Dumping artifacts ... 
2022-03-11 11:13:11 +0000 -- done
2022-03-11 11:13:11 +0000 -- Dumping pages ... 
2022-03-11 11:13:11 +0000 -- done
2022-03-11 11:13:11 +0000 -- Dumping lfs objects ... 
2022-03-11 11:13:11 +0000 -- done
2022-03-11 11:13:11 +0000 -- Dumping terraform states ... 
2022-03-11 11:13:11 +0000 -- done
2022-03-11 11:13:11 +0000 -- Dumping container registry images ... 
2022-03-11 11:13:11 +0000 -- [DISABLED]
2022-03-11 11:13:11 +0000 -- Dumping packages ... 
2022-03-11 11:13:11 +0000 -- done
Creating backup archive: 1646997191_2022_03_11_14.8.2_gitlab_backup.tar ... done
Uploading backup archive to remote storage  ... skipped
Deleting tmp directories ... done

默认情况下,GitLab 备份存储在/var/opt/gitlab/backups。您可以通过编辑位于/etc/gitlab/gitlab.rb的 GitLab 配置文件中的设置来更改备份路径。

您可以使用以下命令验证生成的备份:

ls /var/opt/gitlab/backups

您将获得以下输出:

1646997191_2022_03_11_14.8.2_gitlab_backup.tar



重置 GitLab 根密码

如果您忘记了 GitLab 管理员密码,则可以使用以下命令轻松重置它:

gitlab-rake "gitlab:password:reset"

系统将要求您设置新密码,如下所示:

Enter username: root
Enter password: 
Confirm password: 
Password successfully updated for user with username root.



结论

恭喜!您已在 Alma Linux 8 上成功安装 GitLab CE,您现在可以开始在您的开发环境中使用 GitLab。如果您有任何问题,请随时问我。



版权声明:本文为weixin_43025343原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。