GitLab 是一款免费的开源 DevOps 软件,它附带多种工具,可在单个应用程序中开发、保护和操作软件。它提供免费的无限存储库和无限的协作者。它主要用于托管 Git 存储库,并具有其他与开发相关的功能,例如问题跟踪。它与 Github 和 Bitbucket 非常相似,允许个人和团队与他人远程共享代码。
GitLab 有四个主要版本:
在这篇文章中,我们将解释如何在 Alma Linux 8 上安装 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/gpgkeyImporting 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.gpgGenerating 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-cebaseurl=https://packages.gitlab.com/gitlab/gitlab-ce/el/8/$basearchrepo_gpgcheck=1gpgcheck=1enabled=1gpgkey=https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey/gitlab-gitlab-ce-3D645A26AB9FBD22.pub.gpgsslverify=1sslcacert=/etc/pki/tls/certs/ca-bundle.crtmetadata_expire=300[gitlab_gitlab-ce-source]name=gitlab_gitlab-ce-sourcebaseurl=https://packages.gitlab.com/gitlab/gitlab-ce/el/8/SRPMSrepo_gpgcheck=1gpgcheck=1enabled=1gpgkey=https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey/gitlab-gitlab-ce-3D645A26AB9FBD22.pub.gpgsslverify=1sslcacert=/etc/pki/tls/certs/ca-bundle.crtmetadata_expire=300
您还可以使用以下命令列出 GitLab 存储库:
dnf repolist
您将获得以下输出:
repo id repo nameappstream Rocky Linux 8 - AppStreambaseos Rocky Linux 8 - BaseOSextras Rocky Linux 8 - Extrasgitlab_gitlab-ce gitlab_gitlab-cegitlab_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 reconfigureFor a comprehensive list of configuration options please see the Omnibus GitLab readmehttps://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.mdHelp 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: rootPassword: 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) 351srun: gitlab-exporter: (pid 26617) 73s; run: log: (pid 25555) 207srun: gitlab-kas: (pid 26585) 75s; run: log: (pid 25339) 334srun: gitlab-workhorse: (pid 26595) 74s; run: log: (pid 25472) 229srun: grafana: (pid 26665) 70s; run: log: (pid 26315) 110srun: logrotate: (pid 25000) 364s; run: log: (pid 25008) 363srun: nginx: (pid 25488) 226s; run: log: (pid 25499) 222srun: node-exporter: (pid 26603) 74s; run: log: (pid 25541) 213srun: postgres-exporter: (pid 26659) 70s; run: log: (pid 25891) 168srun: postgresql: (pid 25207) 341s; run: log: (pid 25218) 340srun: prometheus: (pid 26631) 72s; run: log: (pid 25629) 194srun: puma: (pid 25406) 249s; run: log: (pid 25417) 246srun: redis: (pid 25039) 358s; run: log: (pid 25047) 357srun: redis-exporter: (pid 26620) 73s; run: log: (pid 25575) 201srun: 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 -- done2022-03-11 11:13:11 0000 -- Dumping uploads ... 2022-03-11 11:13:11 0000 -- done2022-03-11 11:13:11 0000 -- Dumping builds ... 2022-03-11 11:13:11 0000 -- done2022-03-11 11:13:11 0000 -- Dumping artifacts ... 2022-03-11 11:13:11 0000 -- done2022-03-11 11:13:11 0000 -- Dumping pages ... 2022-03-11 11:13:11 0000 -- done2022-03-11 11:13:11 0000 -- Dumping lfs objects ... 2022-03-11 11:13:11 0000 -- done2022-03-11 11:13:11 0000 -- Dumping terraform states ... 2022-03-11 11:13:11 0000 -- done2022-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 -- doneCreating backup archive: 1646997191_2022_03_11_14.8.2_gitlab_backup.tar ... doneUploading backup archive to remote storage ... skippedDeleting 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: rootEnter password: Confirm password: Password successfully updated for user with username root.
结论
恭喜!您已在 Alma Linux 8 上成功安装 GitLab CE,您现在可以开始在您的开发环境中使用 GitLab。如果您有任何问题,请随时问我。