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

  1. 目前,GitLab 不支持直接安装在 Windows 中,因此进行这个教程之前,必须要先安装好一个 Linux 操作系统。这个 Linux 操作系统可以安装在虚拟机中,也可以安装在真实的电脑中。关于这方面的内容,可见笔者的其它博客:

    VMware Workstation Pro 16 安装教程:
    https://blog.csdn.net/wangpaiblog/article/details/112152218?spm=1001.2014.3001.5502

    Linux 操作系统 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

  2. 一般来说,安装一个软件有 3 种方法:离线安装、在线安装、免安装。通常,离线安装是最好的方法,同时也通常是笔者的首选,本文亦使用的是离线安装的方法。

    对于 Linux,这三种方法各有千秋。笔者分别试验了这 3 种方法,但只给出离线安装的方法。因为对于安装来说,提供多种选择实属多余,还会增加读者选择上的负担。

    对于 Linux,离线安装的好处与坏处分别为:

    • 好处:除了第一次下载需要下载完整的安装包之外,之后每次安装都可无需联网。这样不仅节约了流量,而且无需担心未来安装包会失效。相对免安装,安装操作会在操作系统中注册该软件的信息,会安装时会自动执行某些操作,通常可以避免一些手动配置。
    • 坏处:离线安装无法自动安装依赖。如果所要安装的安装包依赖其它安装包,安装者需要自己手动下载完所有的依赖安装包。
  3. 由于 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。记住这一点,下面将会用上。

  4. 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

  1. GitLab 有 CE 与 EE 两种版本,其中,CE 指的是 Community Edition(社区版) ,EE 指的是 Enterprise Edition(企业版)。显然,顾名思义,EE 是一种收费版。如果没有特殊的需求,选择哪个版本无关紧要。官方推荐安装 EE 版,给出的理由是,安装 EE 版本后,如果不想付费,可以不付费,只是会缺少相应的功能。但如果安装完 CE 版本后,又想安装 EE 版本,还需要重新安装(见 https://about.gitlab.com/install/ce-or-ee/)。这里,笔者安装的是 EE 版。毕竟,国内的环境良好,有很多途径可以让付费产品变成免费。

  2. 到官网中下载 GitLab,网址:https://packages.gitlab.com/gitlab/gitlab-ee

  3. 注意,这里要根据前面查看的 Linux 系统的信息来下载对应的安装包。此处笔者应该选择带 x8664Linux 8 字样的安装包。

    再次提醒,安装包不要选错了,选择错误的安装包在安装后可能出现各种难解的问题。比方说,Centos Stream 与 Centos 不是同一种操作系统,而在笔者编写本教程的时候,GitLab 并没有为 Centos Stream 提供安装包,所以如果操作系统是 Centos Stream,那目前是不能安装 GitLab 的!


    【提示】

      GitLab 官网中已经给出了 GitLab 安装配置的参考教程,链接:https://about.gitlab.com/install/#centos-8


安装 GitLab

  1. 下载完成之后,可以使用 Xftp 将安装包置入 Linux 操作系统中。然后进行该安装包目录,输入以下命令进行安装:

    sudo yum localinstall gitlab-ee-14.3.6-ee.0.el8.x86_64.rpm

    (注意:虽然这是离线安装包,但安装时并非完全不需要网络。在初次安装时,操作系统可能会首先对软件仓库进行更新,此过程需要联网。)

  2. 设置 GitLab 网页客户端网址。网址应该由 IP 与端口号组成。IP 是 GitLab 所在的 Linux 服务器的 IP。端口号可任意想一个不会与已有的端口号相冲突的端口号。应在文件 gitlab.rb 中设置这个信息。文件 gitlab.rb 在目录 /etc/gitlab 中。修改文件 gitlab.rb 的方法有很多,可以直接用 Xftp 将打开此文件进行修改。

    在修改前,如果因为好奇等原因已经启动了 GitLab 服务,则需要使用如下命令关闭 GitLab 服务。

    gitlab-ctl stop

  3. 在文件 gitlab.rb 中的 external_url 一行上添加如下代码。如果没有 external_url 这一行,那就新加这一行。

    external_url 'http://ip地址:端口号'

    其中,ip地址端口号 要换成实际的值。

  4. 在防火墙中对外开启此端口。

    firewall-cmd --zone=public --add-port=端口号/tcp --permanent
    firewall-cmd --reload

    其中,端口号 要换成上面设置的实际值。

  5. 设置 GitLab 的数据存放路径。此处如果不设置,则默认路径为 /var/opt/gitlab/git-data/。修改的方法是在文件 gitlab.rb 编写如下代码:(注意:在修改路径前,要将原 GitLab 的数据存放目录下的文件拷贝到新目录中。)

    git_data_dirs({"default" => {"path" => "自定义的 GitLab 仓库储存路径"}
    })
    

    其中,自定义的 GitLab 仓库储存路径 要改成实际的值。

  6. 使用如下命令使上面的配置生效。

    如果曾经多次反复卸载过 GitLab,而且没有卸载干净,则此过程很容易卡住。需要中断操作然后将 GitLab 卸载干净再来进行此操作。

    gitlab-ctl reconfigure

  7. 如果是第一次配置,则执行完上述命令之后,GitLab 服务会自动设置成开机启动且马上会启动。如果没有 GitLab 服务没有启动,也可以使用如下命令。

    gitlab-ctl start

登录 GitLab

  1. 现在到任一能访问到该 Linux 服务器的浏览器中输入如下网址,应该就可以访问 GitLab 网页端了。

    http://ip地址:端口号

    其中,ip地址端口号 要换成实际的值。

  2. 此时应该看到的是 GitLab 登录界面。在 GitLab 第一次初始化时,会自动生成一个管理员账户。其中,该账户的用户名为 root,密码在一个自动生成的文件 /etc/gitlab/initial_root_password 中(密码不会含空格),且会在 24 小时后自动被删除。

    现在要做的是,先备份上述的文件 initial_root_password,然后登录管理员账户修改管理员密码。新密码长度不能小于 8 位。

GitLab 汉化

  1. 如果更喜欢中文,GitLab 提供了中文界面,可按下图所示设置。设置完成之后,刷新界面即可生效。


    【注意】

      有的人使用尝试对 GitLab 进行汉化(https://gitlab.com/xhang/gitlab)。建议不要这样做,此汉化有风险,如果操作不当有可能会破坏 GitLab 的程序,使之无法使用。此过程不可逆,请谨慎操作。


  2. 上面的登录界面还可以用于注册新用户。不过,新用户注册完成之后需要管理员审批。如果不需要审批功能,可以登录管理员账户将其关闭。

GitLab 设置密钥

  1. 如果想要向 GitLab 上传推送文件,这需要向 GitLab 添加公钥,这方面的内容与 GitHub 等网站相同,可见笔者的另一篇博客:

    Git、TortoiseGit、GitHub、Gitee、GitLab 安装与入门使用:
    https://blog.csdn.net/wangpaiblog/article/details/121278972

卸载 GitLab

  1. 如果不小心破坏了 GitLab 的运行环境而又无法修复,这就需要重装 GitLab。在卸载前,注意要备份 GitLab 中仓库的数据文件。彻底卸载 GitLab 的流程如下。

  2. 停止 GitLab 服务。

    gitlab-ctl stop

  3. 卸载 GitLab。(卸载这种操作有风险,可能导致再次安装时永远失败,请三思后行)

    sudo yum erase gitlab*
    sudo rpm -e gitlab-ee

  4. 查看与 GitLab 相关的进程。

    ps aux | grep gitlab

  5. 根据 PID,杀死那个有很多省略号的进程。

    kill -9 进程 PID 号

    其中,进程 PID 号 要换成实际的值。

  6. 删除与 GitLab 相关的文件

    find / -name gitlab | xargs rm -rf

  7. 删除以下的 Linux 用户:(此操作可能有风险,谨慎使用)

    userdel -rf gitlab-www
    userdel -rf gitlab-redis
    userdel -rf gitlab-psql
    userdel -rf gitlab-prometheus
    userdel -rf git

  8. 卸载完重启 Linux。

    reboot

Linux 下 GitLab 安装教程相关推荐

  1. Linux 下 Redis 安装教程

    Linux 下 Redis 安装教程 事先准备 下载 Redis 安装 Redis 设置 Redis 开机自启动 远程访问 Redis RDM 远程访问 Redis 笔者的运行环境: CentOS S ...

  2. mysql linux 安装_mysql-5.7.28 在Linux下的安装教程图解

    2.上传tar包到服务器到 /usr/local/src 3.卸载系统自动的Mariadb rpm -qa | grep mariadb rpm -e --nodeps mariadb-libs-5. ...

  3. linux系统nginx安装教程,Linux下Nginx安装教程

    Linux下Nginx安装教程分享,具体内容如下 1.安装编译文件及库文件 yum -y install make zlib zlib-devel gcc-c++ libtool openssl op ...

  4. 好用的 Markdown 编辑器 Typora【Window 、Linux 下的安装教程】

    Typora 介绍: Markdown 是一种快速书写文章的语法,语法丰富简洁,可以胜任常见的各种文本情况.编辑好的文本经过特定的 Markdown 解释器渲染之后就会呈现出简洁优雅的排版格式,相比于 ...

  5. linux下scrapy安装教程,linux centos7安装scrapy

    linux centos7安装scrapy 时间:2018-01-02 17:41作者:scrapy中文网阅读: 本scrapy中文教程主要介绍,centos7 linux下scrapy的安装,pyt ...

  6. Linux下aMule安装教程

    Linux下载神器aMule安装教程 aMule可以说是Linux下的电驴,你们说eMule是不是就是aMule的Windows版呢?也是开源的. Fedora安装aMule很简单,两条命令就搞定. ...

  7. Linux 下 MySQL 安装教程

    文章目录 事先准备 下载 MySQL 卸载 MySQL 安装 MySQL 设置 MySQL 开机自启动 远程访问 MySQL 使用 MySQL Workbench 远程访问 MySQL 使用 Navi ...

  8. linux下sqlmap安装教程,(转)Sqlmap官网下载与安装教程[windows/linux版本]

    转自:http://www.vuln.cn/2000 sqlmap的功能与强大性不必多言,方便大家下载,给大家整理了下sqlmap最新版的官网与github下载地址. 官网下载地址 github下载 ...

  9. linux下ms安装教程,MS在linux的安装过程.doc

    Linux下安装MS 3.1 整理:wsilei lying zbaohui? 一.安装MS前的准备: 在根用户下创建msi用户并上传MS安装文件于/home/msi/tmp下 [root@lm16 ...

最新文章

  1. 解决ReSharper自动删除换行
  2. [maven]maven插件 tomcat7-maven-plugin 的使用
  3. No Need(AtCoder-2346)
  4. 计算机数码频道策划方案,艺人策划方案电脑基础知识IT计算机专业资料-艺人策划方案.pdf...
  5. Swift中的#pragma mark?
  6. 推荐系统-Task04前后端基础及交互
  7. 对于web项目前台和后台bug定位分析
  8. unity Mesh Renderer的一点想法
  9. 最新合成类游戏APP源码,带安装教程
  10. 非参数检验——Wilcoxon 检验 Friedman 检验与 Nemenyi 后续检验
  11. 智能指针手表_反对智能手表
  12. 40 岁的时候,我转行成为一名前端开发者!
  13. Android_(传感器)指南针
  14. 关于*.md文件打开的问题及图片丢失
  15. 软件项目管理第4版课后习题-期末复习题型分册版-带答案
  16. 电脑主要硬件各种作用
  17. Android 监听屏幕唤醒和关闭的广播
  18. 写一程序,用scanf函数输入x,输出y值。
  19. 计算机组老师颁奖词,获奖教师的颁奖词
  20. 汽车养护app开发,拒绝养车套路

热门文章

  1. python全栈开发 * 31知识点汇总 * 180716
  2. synchronized修饰方法和代码块的区别
  3. spark SQL读取ORC文件从Driver启动到开始执行Task(或stage)间隔时间太长(计算Partition时间太长)且产出orc单个文件中stripe个数太多问题解决方案...
  4. windows的bpython安装方法以及数据库报错--记录
  5. iOS8 TabBarItem设置自定义图片问题
  6. 创建故障转移群集,LiveMigration系列之六
  7. nginx中文件路径表示方法
  8. linux mmap 内存映射【转】
  9. Eclipse快捷键(自用)
  10. hibernate中@Entity和@Table的区别