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

相关推荐
Mr Lee_30 分钟前
android 配置鼠标右键快捷对apk进行反编译
android
顾北川_野1 小时前
Android CALL关于电话音频和紧急电话设置和获取
android·音视频
&岁月不待人&1 小时前
Kotlin by lazy和lateinit的使用及区别
android·开发语言·kotlin
Winston Wood3 小时前
Android Parcelable和Serializable的区别与联系
android·序列化
清风徐来辽3 小时前
Android 项目模型配置管理
android
帅得不敢出门4 小时前
Gradle命令编译Android Studio工程项目并签名
android·ide·android studio·gradlew
problc4 小时前
Flutter中文字体设置指南:打造个性化的应用体验
android·javascript·flutter
A ?Charis13 小时前
Gitlab-runner running on Kubernetes - hostAliases
容器·kubernetes·gitlab
帅得不敢出门15 小时前
安卓设备adb执行AT指令控制电话卡
android·adb·sim卡·at指令·电话卡
我又来搬代码了16 小时前
【Android】使用productFlavors构建多个变体
android