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

相关推荐
吃着火锅x唱着歌42 分钟前
PHP7内核剖析 学习笔记 第四章 内存管理(1)
android·笔记·学习
_Shirley2 小时前
鸿蒙设置app更新跳转华为市场
android·华为·kotlin·harmonyos·鸿蒙
hedalei4 小时前
RK3576 Android14编译OTA包提示java.lang.UnsupportedClassVersionError问题
android·android14·rk3576
锋风Fengfeng4 小时前
安卓多渠道apk配置不同签名
android
枫_feng4 小时前
AOSP开发环境配置
android·安卓
叶羽西5 小时前
Android Studio打开一个外部的Android app程序
android·ide·android studio
qq_171538856 小时前
利用Spring Cloud Gateway Predicate优化微服务路由策略
android·javascript·微服务
Vincent(朱志强)7 小时前
设计模式详解(十二):单例模式——Singleton
android·单例模式·设计模式
mmsx8 小时前
android 登录界面编写
android·登录界面
姜毛毛-JYM8 小时前
【JetPack】Navigation知识点总结
android