- 安装 Linux
- 下载 GitLab
- 安装 GitLab
- 登录 GitLab
- GitLab 汉化
- GitLab 设置密钥
- 卸载 GitLab
为了便于以后使用,这里先给出 GitLab 使用中的常用命令。
-
启动 GitLab 服务:gitlab-ctl start
-
关闭 GitLab 服务:gitlab-ctl stop
-
重启 GitLab 服务:gitlab-ctl restart
-
操作系统内存查看:free -m
安装 Linux笔者的运行环境:
Linux:CentOS 8 x86_64
GitLab:gitlab-ee-14.3.6-ee.0.el8.x86_64
-
目前,GitLab 不支持直接安装在 Windows 中,因此进行这个教程之前,必须要先安装好一个 Linux 操作系统。这个 Linux 操作系统可以安装在虚拟机中,也可以安装在真实的电脑中。关于这方面的内容,可见笔者的其它博客:
VMware Workstation Pro 16 安装教程:
https://blog.csdn.net/wangpaiblog/article/details/112152218?spm=1001.2014.3001.5502Linux 操作系统 CentOS Stream 安装教程:
https://blog.csdn.net/wangpaiblog/article/details/119792728?spm=1001.2014.3001.5502为了方便远程输入命令、将文件加入到 Linux 操作系统中,最好还要在一台 Windows 操作系统上面使用一种终端控制软件,如 Xshell、Xftp 等。关于这方面的内容,可见笔者的另一篇博客:
如何在 Windows 主机上访问本地局域网中的 Linux 主机:
https://blog.csdn.net/wangpaiblog/article/details/120052152?spm=1001.2014.3001.5502 -
一般来说,安装一个软件有 3 种方法:离线安装、在线安装、免安装。通常,离线安装是最好的方法,同时也通常是笔者的首选,本文亦使用的是离线安装的方法。
对于 Linux,这三种方法各有千秋。笔者分别试验了这 3 种方法,但只给出离线安装的方法。因为对于安装来说,提供多种选择实属多余,还会增加读者选择上的负担。
对于 Linux,离线安装的好处与坏处分别为:
- 好处:除了第一次下载需要下载完整的安装包之外,之后每次安装都可无需联网。这样不仅节约了流量,而且无需担心未来安装包会失效。相对免安装,安装操作会在操作系统中注册该软件的信息,会安装时会自动执行某些操作,通常可以避免一些手动配置。
- 坏处:离线安装无法自动安装依赖。如果所要安装的安装包依赖其它安装包,安装者需要自己手动下载完所有的依赖安装包。
-
由于 Linux 操作系统的种类繁多,因此首先要知道要安装 Linux 操作系统的处理器架构信息。以 CentOS 8 x86_64 为例,输入以下命令:
cat /proc/version
[root@localhost ~]# cat /proc/version Linux version 4.18.0-348.el8.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 8.5.0 20210514 (Red Hat 8.5.0-3) (GCC)) #1 SMP Tue Oct 19 15:14:17 UTC 2021
可以看出,上述的关键信息为 x86_64。记住这一点,下面将会用上。
-
Linux 的 PMS 工具主流有两种。
对于基于 Red Hat 的发行版,其 PMS 工具为 rpm,对应的安装命令为 yum。
对于基于 Debian 的发行版,其 PMS 工具为 dpkg,对应的安装命令为 aptitude。
笔者的操作系统 CentOS 8 x86_64 属于 Red Hat,将使用后缀为 rpm 的安装包。如果读者使用的操作系统为 Ubuntu,需要选择后缀为 deb 的安装包。如果读者不知道如何分辨,可以输入以下命令来验证:
yum
[root@localhost xshell_win10]# yum [...一长串说明文字...]
如果输入 yum 之后,出现了一大串的说明文字,说明应该使用后缀为 rpm 的安装包。如果提示 yum 命令不存在,说明应该使用后缀为 deb 的安装包。当然,读者也可以通过输入命令 aptitude 来进行进一步的验证。
-
GitLab 有 CE 与 EE 两种版本,其中,CE 指的是 Community Edition(社区版) ,EE 指的是 Enterprise Edition(企业版)。显然,顾名思义,EE 是一种收费版。如果没有特殊的需求,选择哪个版本无关紧要。官方推荐安装 EE 版,给出的理由是,安装 EE 版本后,如果不想付费,可以不付费,只是会缺少相应的功能。但如果安装完 CE 版本后,又想安装 EE 版本,还需要重新安装(见 https://about.gitlab.com/install/ce-or-ee/)。这里,笔者安装的是 EE 版。毕竟,国内的环境良好,有很多途径可以让付费产品变成免费。
-
到官网中下载 GitLab,网址:https://packages.gitlab.com/gitlab/gitlab-ee
-
注意,这里要根据前面查看的 Linux 系统的信息来下载对应的安装包。此处笔者应该选择带 x86、64、Linux 8 字样的安装包。
再次提醒,安装包不要选错了,选择错误的安装包在安装后可能出现各种难解的问题。比方说,Centos Stream 与 Centos 不是同一种操作系统,而在笔者编写本教程的时候,GitLab 并没有为 Centos Stream 提供安装包,所以如果操作系统是 Centos Stream,那目前是不能安装 GitLab 的!
【提示】
GitLab 官网中已经给出了 GitLab 安装配置的参考教程,链接:https://about.gitlab.com/install/#centos-8
-
下载完成之后,可以使用 Xftp 将安装包置入 Linux 操作系统中。然后进行该安装包目录,输入以下命令进行安装:
sudo yum localinstall gitlab-ee-14.3.6-ee.0.el8.x86_64.rpm
(注意:虽然这是离线安装包,但安装时并非完全不需要网络。在初次安装时,操作系统可能会首先对软件仓库进行更新,此过程需要联网。)
-
设置 GitLab 网页客户端网址。网址应该由 IP 与端口号组成。IP 是 GitLab 所在的 Linux 服务器的 IP。端口号可任意想一个不会与已有的端口号相冲突的端口号。应在文件 gitlab.rb 中设置这个信息。文件 gitlab.rb 在目录 /etc/gitlab 中。修改文件 gitlab.rb 的方法有很多,可以直接用 Xftp 将打开此文件进行修改。
在修改前,如果因为好奇等原因已经启动了 GitLab 服务,则需要使用如下命令关闭 GitLab 服务。
gitlab-ctl stop
-
在文件 gitlab.rb 中的 external_url 一行上添加如下代码。如果没有 external_url 这一行,那就新加这一行。
external_url 'http://ip地址:端口号'
其中,ip地址、端口号 要换成实际的值。
-
在防火墙中对外开启此端口。
firewall-cmd --zone=public --add-port=端口号/tcp --permanent
firewall-cmd --reload
其中,端口号 要换成上面设置的实际值。
-
设置 GitLab 的数据存放路径。此处如果不设置,则默认路径为 /var/opt/gitlab/git-data/。修改的方法是在文件 gitlab.rb 编写如下代码:(注意:在修改路径前,要将原 GitLab 的数据存放目录下的文件拷贝到新目录中。)
git_data_dirs({ "default" => { "path" => "自定义的 GitLab 仓库储存路径" } })其中,自定义的 GitLab 仓库储存路径 要改成实际的值。
-
使用如下命令使上面的配置生效。
如果曾经多次反复卸载过 GitLab,而且没有卸载干净,则此过程很容易卡住。需要中断操作然后将 GitLab 卸载干净再来进行此操作。
gitlab-ctl reconfigure
-
如果是第一次配置,则执行完上述命令之后,GitLab 服务会自动设置成开机启动且马上会启动。如果没有 GitLab 服务没有启动,也可以使用如下命令。
gitlab-ctl start
-
现在到任一能访问到该 Linux 服务器的浏览器中输入如下网址,应该就可以访问 GitLab 网页端了。
http://ip地址:端口号
其中,ip地址、端口号 要换成实际的值。
-
此时应该看到的是 GitLab 登录界面。在 GitLab 第一次初始化时,会自动生成一个管理员账户。其中,该账户的用户名为 root,密码在一个自动生成的文件 /etc/gitlab/initial_root_password 中(密码不会含空格),且会在 24 小时后自动被删除。
现在要做的是,先备份上述的文件 initial_root_password,然后登录管理员账户修改管理员密码。新密码长度不能小于 8 位。
-
如果更喜欢中文,GitLab 提供了中文界面,可按下图所示设置。设置完成之后,刷新界面即可生效。
【注意】
有的人使用尝试对 GitLab 进行汉化(https://gitlab.com/xhang/gitlab)。建议不要这样做,此汉化有风险,如果操作不当有可能会破坏 GitLab 的程序,使之无法使用。此过程不可逆,请谨慎操作。
-
上面的登录界面还可以用于注册新用户。不过,新用户注册完成之后需要管理员审批。如果不需要审批功能,可以登录管理员账户将其关闭。
-
如果想要向 GitLab 上传推送文件,这需要向 GitLab 添加公钥,这方面的内容与 GitHub 等网站相同,可见笔者的另一篇博客:
Git、TortoiseGit、GitHub、Gitee、GitLab 安装与入门使用:
https://blog.csdn.net/wangpaiblog/article/details/121278972
-
如果不小心破坏了 GitLab 的运行环境而又无法修复,这就需要重装 GitLab。在卸载前,注意要备份 GitLab 中仓库的数据文件。彻底卸载 GitLab 的流程如下。
-
停止 GitLab 服务。
gitlab-ctl stop
-
卸载 GitLab。(卸载这种操作有风险,可能导致再次安装时永远失败,请三思后行)
sudo yum erase gitlab*
sudo rpm -e gitlab-ee
-
查看与 GitLab 相关的进程。
ps aux | grep gitlab
-
根据 PID,杀死那个有很多省略号的进程。
kill -9 进程 PID 号
其中,进程 PID 号 要换成实际的值。
-
删除与 GitLab 相关的文件
find / -name gitlab | xargs rm -rf
-
删除以下的 Linux 用户:(此操作可能有风险,谨慎使用)
userdel -rf gitlab-www
userdel -rf gitlab-redis
userdel -rf gitlab-psql
userdel -rf gitlab-prometheus
userdel -rf git
-
卸载完重启 Linux。
reboot



