基于Ubuntu搭建GitLab详解

本文讲解基于ubuntu系统,在服务器上搭建GitLab的完整流程

一、GitLab是什么?

Gitlab是使用Git作为代码管理工具,并在此基础上搭建起来的Web服务,被广泛用于代码管理的图形化工具; 拓展了多种能力,如合入请求、提问(issue)、持续集成(DevOps)等,极大提升了管理效率。

二、搭建流程

第一步:调整防火墙规则

为了后续gitLab能被外网正常访问,需放开防火墙对Http、Https的限制

(1) 首先输入以下命令,查看防火墙状态:

java 复制代码
sudo ufw status

(2) 如果(1)中返回的结果里,action列展示为allow,则表示已经放开限制

否则输入以下命令放开限制:

java 复制代码
sudo ufw allow http
sudo ufw allow https
sudo ufw allow OpenSSH

第二步:更新本地包&安装相关依赖

进入终端窗口,执行以下命令:

java 复制代码
sudo apt update
sudo apt install ca-certificates curl openssh-server postfix

注意1:安装postfix(邮件服务器)时可能出现激活gitlab邮箱配置,选择Internet站点那个选项,输入发送邮件的目的邮箱。 注意2:如果下载过程很慢,则需要科学上网,这个不做展开,可以自行搜索方法解决

第三步:设置存储库&安装Gitlab,下载配置存储库的脚本到tmp目录下

执行命令:

java 复制代码
cd /tmp && curl -LO https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh

第四步:运行脚本开始设置GitLab的存储库

检查版本无误后,执行下面命令,运行脚本开始设置GitLab的存储库

java 复制代码
sudo bash /tmp/script.deb.sh

第五步:正式安装GitLab

java 复制代码
sudo apt install gitlab-ce

至此,gitlab已完成搭建

三、实现访问

虽然已在服务器搭建了gitLab,但外网仍然无法访问,要解决这个问题,就需要做一些配置

第一步:添加公网ip

公网ip就是服务器对外暴露的地址(一般买了云服务器,都会有这个地址),只有在gitLab系统里面做了配置,外部才能通过地址找到服务器并访问gitLab

  • (1)首先打开GitLab配置文件
java 复制代码
sudo vim /etc/gitlab/gitlab.rb
  • (2)进入VIM之后,在VIM中输入下列命令,查找修改的位置。
java 复制代码
/"你要搜索的字符串"

按下回车后锁定到第一个查询结果,使用n查找下一个,N查找上一个。 找到修改位置后输入i进入修改状态(后为编辑状态,不详述)。

  • (3)搜索关键词external_url,修改url为公网IP
java 复制代码
external_url 'http://{"公网IP"}'

注意:若要实现在本地访问,则IP可在终端中使用ifconfig查看,如需从外部访问,就得设置为公网ip,其中,若url中使用了https,GitLab会自动重定向请求到加密站点,无需单独配置重定向

  • (4)为了使上述配置生效,需要执行下述命令重动gitLab(非root用户需加sudo)
java 复制代码
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
  • (5)设置root用户密码,因首次登录gitLab需要使用
    按顺序执行下面命令,分别为进入gitLab控制台、修改root用户密码:
  1. 进入gitLab控制台
java 复制代码
sudo gitlab-rails console
  1. 再输入下面语句,修改root用户密码
java 复制代码
user = User.where(id:1).first
user.password = {新密码}
user.password_confirmation = {新密码}
user.save!
exit

至此,就完成了gitLab的搭建,快去登录一下看看!

四、常用命令

命令 作用
gitlab-ctl reconfigure 修改gitlab.rb文件之后重新加载配置
gitlab-ctl status 查看 GitLab 状态
gitlab-ctl start 启动 GitLab
gitlab-ctl stop 停止 GitLab
gitlab-ctl restart 重启 GitLab
gitlab-ctl tail 查看所有日志
gitlab-ctl tail nginx/gitlab_acces.log 查看 nginx 访问日志
gitlab-ctl tail postgresql 查看postgresql日志

参考链接:
blog.csdn.net/qq_35844177... www.cnblogs.com/cheuhxg/p/1...

相关推荐
我就是妖怪4 小时前
KMP全栈开发:从Android到AI Agent的技术演进与实践
android·人工智能
心平气和量大福大5 小时前
android-实例-蒲公英-更新与安装-5-签名与生成APK
android·java·开发语言
阿pin7 小时前
Android随笔-Serializable与Parcelable
android·serializable·parcelable
天空之城--7 小时前
Android 事件分发机制深度解析——原理、源码与实战综合总结
android
阿pin8 小时前
Android随笔-AIDL
android·开发语言·aidl
郝亚军9 小时前
gitlab常用命令
gitlab
2501_916007479 小时前
Bundle ID 注册与管理 App ID 创建指南 命名规则 权限开关与删除注意事项
android·ios·小程序·https·uni-app·iphone·webview
雨白9 小时前
面向对象六大基本原则实战:从零重构支持引擎切换的网络框架
android·架构
张赐荣10 小时前
Android TalkBack 无障碍优化: 为控件自定义转子导航动作
android·microsoft
天空之城--12 小时前
Android Flutter行业动态与学习参考(2026年8月)
android·flutter