Linux 下 GitLab 安装教程
Linux 下 GitLab 安装教程
- 安装 Linux
- 下载 GitLab
- 安装 GitLab
- 登录 GitLab
- GitLab 汉化
- GitLab 设置密钥
- 卸载 GitLab
为了便于以后使用,这里先给出 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 操作系统。这个 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
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
安装 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
Linux 下 GitLab 安装教程相关推荐
- Linux 下 Redis 安装教程
Linux 下 Redis 安装教程 事先准备 下载 Redis 安装 Redis 设置 Redis 开机自启动 远程访问 Redis RDM 远程访问 Redis 笔者的运行环境: CentOS S ...
- mysql linux 安装_mysql-5.7.28 在Linux下的安装教程图解
2.上传tar包到服务器到 /usr/local/src 3.卸载系统自动的Mariadb rpm -qa | grep mariadb rpm -e --nodeps mariadb-libs-5. ...
- linux系统nginx安装教程,Linux下Nginx安装教程
Linux下Nginx安装教程分享,具体内容如下 1.安装编译文件及库文件 yum -y install make zlib zlib-devel gcc-c++ libtool openssl op ...
- 好用的 Markdown 编辑器 Typora【Window 、Linux 下的安装教程】
Typora 介绍: Markdown 是一种快速书写文章的语法,语法丰富简洁,可以胜任常见的各种文本情况.编辑好的文本经过特定的 Markdown 解释器渲染之后就会呈现出简洁优雅的排版格式,相比于 ...
- linux下scrapy安装教程,linux centos7安装scrapy
linux centos7安装scrapy 时间:2018-01-02 17:41作者:scrapy中文网阅读: 本scrapy中文教程主要介绍,centos7 linux下scrapy的安装,pyt ...
- Linux下aMule安装教程
Linux下载神器aMule安装教程 aMule可以说是Linux下的电驴,你们说eMule是不是就是aMule的Windows版呢?也是开源的. Fedora安装aMule很简单,两条命令就搞定. ...
- Linux 下 MySQL 安装教程
文章目录 事先准备 下载 MySQL 卸载 MySQL 安装 MySQL 设置 MySQL 开机自启动 远程访问 MySQL 使用 MySQL Workbench 远程访问 MySQL 使用 Navi ...
- linux下sqlmap安装教程,(转)Sqlmap官网下载与安装教程[windows/linux版本]
转自:http://www.vuln.cn/2000 sqlmap的功能与强大性不必多言,方便大家下载,给大家整理了下sqlmap最新版的官网与github下载地址. 官网下载地址 github下载 ...
- linux下ms安装教程,MS在linux的安装过程.doc
Linux下安装MS 3.1 整理:wsilei lying zbaohui? 一.安装MS前的准备: 在根用户下创建msi用户并上传MS安装文件于/home/msi/tmp下 [root@lm16 ...
最新文章
- 解决ReSharper自动删除换行
- [maven]maven插件 tomcat7-maven-plugin 的使用
- No Need(AtCoder-2346)
- 计算机数码频道策划方案,艺人策划方案电脑基础知识IT计算机专业资料-艺人策划方案.pdf...
- Swift中的#pragma mark?
- 推荐系统-Task04前后端基础及交互
- 对于web项目前台和后台bug定位分析
- unity Mesh Renderer的一点想法
- 最新合成类游戏APP源码,带安装教程
- 非参数检验——Wilcoxon 检验 Friedman 检验与 Nemenyi 后续检验
- 智能指针手表_反对智能手表
- 40 岁的时候,我转行成为一名前端开发者!
- Android_(传感器)指南针
- 关于*.md文件打开的问题及图片丢失
- 软件项目管理第4版课后习题-期末复习题型分册版-带答案
- 电脑主要硬件各种作用
- Android 监听屏幕唤醒和关闭的广播
- 写一程序,用scanf函数输入x,输出y值。
- 计算机组老师颁奖词,获奖教师的颁奖词
- 汽车养护app开发,拒绝养车套路
热门文章
- python全栈开发 * 31知识点汇总 * 180716
- synchronized修饰方法和代码块的区别
- spark SQL读取ORC文件从Driver启动到开始执行Task(或stage)间隔时间太长(计算Partition时间太长)且产出orc单个文件中stripe个数太多问题解决方案...
- windows的bpython安装方法以及数据库报错--记录
- iOS8 TabBarItem设置自定义图片问题
- 创建故障转移群集,LiveMigration系列之六
- nginx中文件路径表示方法
- linux mmap 内存映射【转】
- Eclipse快捷键(自用)
- hibernate中@Entity和@Table的区别