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

相关推荐
whysqwhw几秒前
OkHttp深度架构缺陷分析与演进规划
android
用户7093722538513 分钟前
Android14 SystemUI NotificationShadeWindowView 加载显示过程
android
木叶丸38 分钟前
跨平台方案该如何选择?
android·前端·ios
CC码码1 小时前
管理你的多个 Git 密钥(多平台多账号)
git·gitlab·github
CC码码1 小时前
管理你的多个 Git 密钥(单平台多账号)
git·gitlab·github
顾林海1 小时前
Android ClassLoader加载机制详解
android·面试·源码
用户2018792831671 小时前
🎨 童话:Android画布王国的奇妙冒险
android
whysqwhw2 小时前
OkHttp框架的全面深入架构分析
android
你过来啊你2 小时前
Android App冷启动流程详解
android
泓博3 小时前
KMP(Kotlin Multiplatform)改造(Android/iOS)老项目
android·ios·kotlin