基于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...

相关推荐
齐天qaq9 分钟前
Android 系统 APK 分区与权限
android
心平气和量大福大16 分钟前
android-控件-多选框CheckBox
android·gitee
pengyu2 小时前
【Kotlin 协程修仙录 · 大乘境 · 初阶】 | 跳出三界:协程在 KMP 与后端开发中的跨平台之道
android·kotlin
XiaoLeisj2 小时前
Android Memory Profiler:堆内存指标、内存抖动与泄漏定位
android·性能优化·内存抖动·内存泄露·memory profiler
未来猫咪花2 小时前
Everything is ViewModel:让状态管理回到对象世界
android·flutter·ios
古法安卓2 小时前
Android-重启流程源码解析
android·java·android studio
协议的旁观者3 小时前
Android 高级逆向实战(一):对抗 360 企业加固,Native 抽取还原与 Activity 生命周期重建
android
mmsx6 小时前
osmdroid 屏幕坐标与测量坐标互转:中心点+比例尺仿射换算
android·源码·地图·osmdroid
00后程序员张6 小时前
Android证书绑定抓包失败?Android SSL Pinning绕过实战指南
android·网络协议·计算机网络·网络安全·adb·https·ssl
杉氧6 小时前
页面栈与路由:React Navigation 与 Expo Router 深度实践
android·前端·react native