Linux 下 GitLab 安装教程
Linux 中 GitLab 安装教程为了便于以后使用,这里先给出 GitLab 使用中的常用命令。启动 GitLab 服务:gitlab-ctl start关闭 GitLab 服务:gitlab-ctl stop重启 GitLab 服务:gitlab-ctl restart操作系统内存查看:free -m笔者的运行环境:Linux:CentOS 8 x86_64GitLab:gitlab-ee-
为了便于以后使用,这里先给出 GitLab 使用中的常用命令。
-
启动 GitLab 服务:
gitlab-ctl start
-
关闭 GitLab 服务:
gitlab-ctl stop
-
重启 GitLab 服务:
gitlab-ctl restart
-
操作系统内存查看:
free -m
笔者的运行环境:
Linux:CentOS 8 x86_64
GitLab:gitlab-ee-14.3.6-ee.0.el8.x86_64
安装 Linux
-
目前,GitLab 不支持直接安装在 Windows 中,因此进行这个教程之前,必须要先安装好一个 Linux 操作系统。这个操作系统并不是可以随意选择的。GitLab 并不支持所有的操作系统,而且 GitLab 对不同操作系统的安装包是完全不同的。请安装 GitLab 所支持的操作系统,否则后面安装会遭遇各种问题,切记笔者踩坑无数的教训!
查看 GitLab 支持哪些操作系统:https://docs.gitlab.com/ee/administration/package_information/supported_os.html
-
选择合适的 Linux 之后,这个 Linux 操作系统可以安装在虚拟机中,也可以安装在真实的电脑中。关于这方面的内容,可见笔者的其它博客:
VMware Workstation Pro 16 安装教程:
https://blog.csdn.net/wangpaiblog/article/details/112152218Linux 操作系统 CentOS Stream 安装教程:
https://blog.csdn.net/wangpaiblog/article/details/119792728为了方便远程输入命令、将文件加入到 Linux 操作系统中,最好还要在一台 Windows 操作系统上面使用一种终端控制软件,如 Xshell、Xftp 等。关于这方面的内容,可见笔者的另一篇博客:
如何在 Windows 主机上访问本地局域网中的 Linux 主机:
https://blog.csdn.net/wangpaiblog/article/details/120052152 -
一般来说,安装一个软件有 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
-
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
【附】
-
GitLab 官方文档:https://docs.gitlab.com/ee/
-
GitLab 官方安装教程:https://about.gitlab.com/install/
- GitLab 官方 Centos 8 安装教程:https://about.gitlab.com/install/#centos-8
-
-
注意,这里要根据前面查看的 Linux 系统的信息来下载对应的安装包。此处笔者应该选择带
x86
、64
、Linux 8
字样的安装包。再次提醒,安装包不要选错了,选择错误的安装包在安装后可能出现各种难解的问题。比方说,Centos Stream 与 Centos 不是同一种操作系统,而在笔者编写本教程的时候,GitLab 并没有为 Centos Stream 提供安装包,所以如果操作系统是 Centos Stream,那目前是不能安装 GitLab 的!
安装 GitLab
-
下载完成之后,可以使用 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
登录 GitLab
-
现在到任一能访问到该 Linux 服务器的浏览器中输入如下网址,应该就可以访问 GitLab 网页端了。
http:// ip地址
:端口号
其中,
ip地址
、端口号
要换成实际的值。 -
此时应该看到的是 GitLab 登录界面。在 GitLab 第一次初始化时,会自动生成一个管理员账户。其中,该账户的用户名为 root,密码在一个自动生成的文件
/etc/gitlab/initial_root_password
中(密码不会含空格),且会在 24 小时后自动被删除。现在要做的是,先备份上述的文件
initial_root_password
,然后登录管理员账户修改管理员密码。新密码长度不能小于 8 位。
GitLab 汉化
-
如果更喜欢中文,GitLab 提供了中文界面,可按下图所示设置。设置完成之后,刷新界面即可生效。
【注意】
有的人使用尝试对 GitLab 进行汉化(https://gitlab.com/xhang/gitlab)。建议不要这样做,此汉化有风险,如果操作不当有可能会破坏 GitLab 的程序,使之无法使用。此过程不可逆,请谨慎操作。
-
上面的登录界面还可以用于注册新用户。不过,新用户注册完成之后需要管理员审批。如果不需要审批功能,可以登录管理员账户将其关闭。
GitLab 设置密钥
-
如果想要向 GitLab 上传推送文件,这需要向 GitLab 添加公钥,这方面的内容与 GitHub 等网站相同,可见笔者的另一篇博客:
Git、TortoiseGit、GitHub、Gitee、GitLab 安装与入门使用:
https://blog.csdn.net/wangpaiblog/article/details/121278972
卸载 GitLab
-
如果不小心破坏了 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
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)