Linux 部署 GitLab【待完善】

本教程使用的是 Windows Wsl 的 OracleLinux 7.9 系统!

一、添加 GitLab 源

# curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

二、安装 GitLab

# yum install -y gitlab-ce

三、配置 GitLab

启动 GitLab 默认会使用到以下端口:

由于 80、8080 是开发常用端口,也极有可能出现冲突,所以本文就只修改 ngnix、puma 端口。

# vim /etc/gitlab/gitlab.rb

找到 external_url 配置主机IP或域名
external_url 'http://172.20.231.207'

找到 nginx 配置自定义的端口
nginx['enable'] = true
nginx['listen_port'] = 8095

找到 puma 配置自定义的端口
puma['enable'] = true
puma['port'] = 8081

如果你的时间很充裕,请 点击此处!看看是否有必要在 GitLab 重载配置前,一并处理了。

以下是 /etc/gitlab/gitlab.rb 配置内容:

四、启动 GitLab

1、重载 GitLab 配置

# gitlab-ctl reconfigure

这个过程需要一段时间,等待 3-10 分钟!

如果 10 分钟后,依旧卡在该界面,可以尝试这个方法。点击此处

你也可以直接执行异常所需要的指令,这不影响你的安装,也避免浪费时间。

出现以下界面,表示配置重载成功。

查看初始密码,在上面图片标注的文件中。

# cat /etc/gitlab/initial_root_password

2、GitLab 执行指令

# gitlab-ctl start [启动服务]
# gitlab-ctl status [查看状态]
# gitlab-ctl stop [停掉服务]
# gitlab-ctl restart [重启服务]
# gitlab-ctl reconfigure [重载配置,使其生效]

一般情况,执行指令 # gitlab-ctl reconfigure 后,服务会自动重启且生效。

如果你发现你的配置并未生效,可以在指令 # gitlab-ctl reconfigure 结束后,使用 # gitlab-ctl restart 重启服务。

※ 异常处理

关于 # gitlab-ctl reconfigure 指令,长时间停在 ruby_block[wait for redis service socket] action run 不执行的问题处理。

重新打开一个终端窗口,执行如下指令:

# /opt/gitlab/embedded/bin/runsvdir-start

安装结束后,使用 Ctrl + C 结束该任务!

五、登录 GitLab

登录进去后,需要马上更改 Root 的密码。初始化生成的密码,仅 24 小时内有效!!!

设置后,划到底部,点击 Save Changes 保存设置。

六、使用 GitLab

1、禁止注册

默认情况下,GitLab 是支持注册的,但是注册后是需要管理员审核,但是为了避免被频繁注册,有必要设置禁止主动注册的。

设置后,划到该折叠选项的最底部,点击 Save Changes 保存配置。

2、项目管理

2.1、新建组

2.2、新建项目

你会在项目的 Clone HTTP 中发现,我们配置的 8095 端口没有被添加上,此时,我们可以回到 # vim /etc/gitlab/gitlab.rb 配置 external_url 'http://172.20.231.207:8095',然后执行 # gitlab-ctl reconfigure

配置后效果如下:

2.3、拉取项目

此处不做详细的 Git 操作,仅演示成功的效果!!!

2.4、SSH 配置

未完善部分,后续更新

七、卸载 GitLab

1、停止 GitLab

# gitlab-ctl stop

2、卸载 GitLab

# yum remove -y gitlab-ce

3、查看 GitLab 进程

# ps aux | grep gitlab

4、结束进程

一般情况 kill 第一个进程后,会自动结束其他进程。

若其他进程没有被自动 kill,就手动执行吧~

# kill -9 377

最终效果,如图:

5、删除残余文件

由于我使用的是 Windows Wsl,为了避免 Windows 文件被意外清除,所以使用以下指令,排除特殊的目录文件

# find / -path /mnt -prune -o -name *gitlab* -print | xargs rm -rf
# find / -path /mnt -prune -o -name gitlab -print | xargs rm -rf 

如果你是正常的 Linux 系统,可以直接使用下列指令

# find / -name *gitlab* | xargs rm -rf
# find / -name gitlab | xargs rm -rf
  • 打赏
请选择打赏方式
  • 微信
  • 支付宝

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部