2023最新Ubuntu安装部署Gitlab详细教程(每个步骤均配图)

news2024/11/23 7:54:37

Ubuntu安装配置Gitlab详细步骤

安装依赖

打开终端,运行如下命令:

sudo apt update

sudo apt-get upgrade

sudo apt-get install curl openssh-server ca-certificates postfix

在这里插入图片描述

接下来会遇到如下界面,Tab切换到“确定”按钮,然后回车。

在这里插入图片描述

还是照样Tab切换到“确定”按钮,然后回车。

在这里插入图片描述

安装Gitlab

先执行命令curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash(我这里不小心执行了两次,一次即可)

在这里插入图片描述

前往Gitlab官网:https://packages.gitlab.com/gitlab/gitlab-ce,找到最新版本的gitlab-ce安装包,注意版本是ubuntu/focal

在这里插入图片描述

通过wget方式在线安装gitlab,复制wsgt下载命令。

在这里插入图片描述

安装命令:
wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/focal/gitlab-ce_16.2.1-ce.0_amd64.deb/download.deb

在这里插入图片描述

然后再解压:sudo dpkg -i gitlab-ce_16.2.1-ce.0_amd64.deb

如果运行dpkg报openssh-server相关的错误,请先执行下面三个命令:

sudo apt --fix-broken install
sudo apt-get update
sudo apt-get upgrade

运行完sudo dpkg后如果出现下面的界面就表示gitlab安装成功。

在这里插入图片描述

配置Gitlab

运行sudo vim /etc/gitlab/gitlab.rb来查看当前gitlab网页ip和端口号。

如果出现vim识别不了的报错,运行下面两行命令即可

sudo rm /var/lib/dpkg/lock*
sudo apt-get update && sudo apt-get install vim

如果运行上述命令出现权限问题,运行下列命令即可:chmod -R 755 /var/log/gitlab

在这里插入图片描述

然后再运行sudo vim /etc/gitlab/gitlab.rb进入gitlab的配置文件修改界面,输入i进入编辑模式,然后找到external_url字段(在第32行),改成自己需要设置的IP和端口号,IP我设置为本机的ipv4地址。

在这里插入图片描述

在这里插入图片描述

修改完毕以后按esc键退出编辑模式,然后输入:wq保存即可。接下来通过下列命令重启服务。

# 停止gitlab服务 
sudo gitlab-ctl stop ​

# 启动gitlab服务 
sudo gitlab-ctl reconfigure ​

# 重启所有gitlab组件 
sudo gitlab-ctl restart ​

# 启动所有gitlab组件 
sudo gitlab-ctl start

# 启用开机自启动
sudo systemctl enable gitlab-runsvdir.service

在这里插入图片描述

在这里插入图片描述

初始化root的密码

按照如下命令初始化管理员账户的密码:

#切换路径
cd /opt/gitlab/bin/ ​

#打开控制台
sudo gitlab-rails console -e production ​
 
#查询用户账号信息并赋值给u
u=User.where(id:1).first​

#设置root的密码
u.password='wxy123456'

#确认密码
u.password_confirmation='wxy123456'

#保存信息(注意有个感叹号)
u.save!

#退出
exit

在这里插入图片描述

登录gitlab

接下来就可以通过http://192.168.17.128:8077来登录gitlab了。登录的地址是你之前设置external_url字段的值。

在这里插入图片描述

登录进去大概长这样:

按下面的步骤将gitlab语言设置为中文:
注意点击Preferences

在这里插入图片描述

点击Save changes,刷新即可。

在这里插入图片描述

Gitlab注册新用户

通过以下步骤来注册新用户:

在这里插入图片描述

在这里插入图片描述

注册之后会显示需要管理员批准,这样才算真正注册成功。

在这里插入图片描述

再次登录root账户,点击配置Gitlab:

在这里插入图片描述

查看最新的用户:

在这里插入图片描述

点击等待批准,然后批准该用户进入群组。

在这里插入图片描述

在这里插入图片描述

至此gitlab安装配置完成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/796520.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ThinkPHP8知识详解:ThinkPHP8是什么?

欢迎你来到PHP服务网学习最新的ThinkPHP8开发教程,本文介绍一下ThinkPHP8是什么? 1、ThinkPHP8是ThinkPHP框架的最新版本,它在之前版本的基础上进行了改进和优化。它采用了现代化的设计理念和架构,提供了更好的性能和更丰富的功能…

GRE TAP的工作原理与5G工业物联网中的应用

随着互联网新技术的发展以及智能化水平的提高,各企业对实时数据传输的需求也在不断提升,企业愈发重视数据中心的建设,以保障企业内网数据安全。 GRE(Generic Routing Encapsulation,通用路由封装)协议属于…

opencv-26 图像几何变换04- 重映射-函数 cv2.remap()

什么是重映射? 重映射(Remapping)是图像处理中的一种操作,用于将图像中的像素从一个位置映射到另一个位置。重映射可以实现图像的平移、旋转、缩放和透视变换等效果。它是一种基于像素级的图像变换技术,可以通过定义映…

vue项目中对组件使用v-model绑定值,在vue3中如何更新数据

在el-form 中 el-form-item 绑定组件进行校验 想在表单下面爆红提示 可以对组件使用v-model绑定值 vue2 通过this.$emit(‘input’,value) 更新 v-model值 vue3 通过this.$emit(‘update:modelValue’ ,value) 更新 v-model值

管理类联考——写作——素材篇——论说文——人工智能

有人说,机器人的使命应该是帮助人类做那些人类做不了的事情,而不是替代人类。技术变革会夺取一些人低端繁琐的工作岗位,最终也会创造更高端更人性化的工作机会。例如,铁路的出现抢去了很多挑夫的工作,但也增加了千百万…

资源成本降低70%!华为MetaERP资产核算的Serverless架构实践

资产核算是指在一定的财务周期,对企业拥有的房屋建筑物、机器设备、商标权和专利权等资产的取得、折旧和处置的会计核算,反映企业固定资产、无形资产的增减变动和价值分摊活动。华为资产核算产品,支撑企业资产从获取到处置全生命周期的管理和…

synchronized关键字同步原理

1.同步方法 public class Test {synchronized public static void testMethod(){}public static void main(String[] args) {testMethod();} }// 实现class文件的反汇编 java -c -v *.class从字节码文件中可以看到同步方法根据flags标志中的ACC_SYNCHRONIZED来判别是否是同步方…

动态内存管理面试题

动态内存管理面试题 文章目录 动态内存管理面试题一、第一题此代码存在的问题运行结果分析原因修改 二、第二题此代码存在的问题运行结果分析原因修改 一、第一题 代码如下&#xff08;示例&#xff09;&#xff1a; #include<stdio.h> #include<string.h> #incl…

快速学习Protobuf

目录 1. 什么是Protobuf&#xff1f; 2. 安装与设置 3. 定义消息 4. 编写.proto文件 5. 编译.proto文件 6. 序列化与反序列化 7. 使用Proto文件 8. Protobuf高级特性 1. 什么是Protobuf&#xff1f; 简介&#xff1a;Protobuf&#xff08;Protocol Buffers&#xff09;…

opencv python 训练自己的分类器

源码下载 一、分类器制作 1.样本准备 收集好你所需的正样本&#xff0c;和负样本&#xff0c;分别保存在不同文件夹 在pycharm新建项目&#xff0c;项目结构如下&#xff1a;has_mask文件夹放置正样本&#xff0c;no_mask文件夹放置负样本 安装opencv&#xff0c;把opencv包…

MySQL数据库面试题总结(2022最新版)

&#x1f436; 程序猿周周 ⌨️ 短视频小厂BUG攻城狮 &#x1f93a; 如果文章对你有帮助&#xff0c;记得关注、点赞、收藏&#xff0c;一键三连哦&#xff0c;你的支持将成为我最大的动力 本文是《后端面试小册子》系列的第 1️⃣ 篇文章&#xff0c;该系列将整理和梳理笔者作…

即时通讯im软件有哪些适合企业内部使用?

随着互联网的普及&#xff0c;即时通讯&#xff08;IM&#xff09;软件发挥着越来越重要的作用。它们为企业内部提供了高效的沟通方式&#xff0c;促进了团队沟通和工作效率的提升。以下是一些适合企业内部使用的即时通讯IM软件。 飞书 飞书是一款由字节跳动公司推出的企业级即…

python版本管理

安装anaconda3 conda conda search “^python$” conda创建新的 Python 环境&#xff0c;并指定你想要的 Python 版本&#xff1a; conda create -n myenv python<desired_python_version> 例如&#xff1a; conda create -n myenv python3.8.8 conda activate myen…

JS加载资源失败的解决办法

JS加载资源失败的解决办法 原文地址 JS加载失败导致问题 JS 也有可能加载失败&#xff0c;导致页面样式错乱&#xff0c;甚至白屏无法使用。这对用户体验是非常不利的&#xff0c;尤其是对于单页应用&#xff0c;如果 JS 加载不出来&#xff0c;用户就无法继续浏览页面了。 …

云计算迎来中场战役,MaaS或将成为弯道超车“新赛点”

科技云报道原创。 没有人能预见未来&#xff0c;但我们可以因循常识&#xff0c;去捕捉技术创新演进的节奏韵脚。 2023年最火的风口莫过于大模型。 2022年底&#xff0c;由美国初创企业OpenAI开发的聊天应用ChatGPT引爆市场&#xff0c;生成式AI成为科技市场热点&#xff0c…

(十六十七)时序数据库是怎么存储用户名和密码的从InfluxDB OSS迁移数据

以下内容来自 尚硅谷&#xff0c;写这一系列的文章&#xff0c;主要是为了方便后续自己的查看&#xff0c;不用带着个PDF找来找去的&#xff0c;太麻烦&#xff01; 第 16 章 时序数据库是怎么存储用户名和密码的 1、InfluxDB内部自带了一个用Go语言写的BlotDB&#xff0c;Blo…

大数据处理架构详解:Lambda架构、Kappa架构、流批一体、Dataflow模型、实时数仓

前言 本文隶属于专栏《大数据理论体系》&#xff0c;该专栏为笔者原创&#xff0c;引用请注明来源&#xff0c;不足和错误之处请在评论区帮忙指出&#xff0c;谢谢&#xff01; 本专栏目录结构和参考文献请见大数据理论体系 姊妹篇 《分布式数据模型详解&#xff1a;OldSQL &…

LDR6028DRP五V充电芯片OTG传数据充电高端方案

随着科学的进步&#xff0c;生产力的进步&#xff0c;时代的进步&#xff0c;电子产品的更新迭代&#xff0c;手机上面的接口越来越来少&#xff0c;甚至到后面手机没有任何接口。现在的手机只剩Type-c&#xff0c;那手机又要充电又要进行数据传输&#xff0c;那怎么办呢。那么…

Vue 常用指令 v-for 列表循环

v-for&#xff1a;根据数据生成列表结构&#xff0c;并且是响应式的&#xff0c;可以十分便捷的操作列表结构了。 至于是什么样的列表&#xff0c;就看你指令使用的位置了&#xff0c;列表的生成依赖于数据&#xff0c;所以先去定义数据。 它结合的类型挺多的&#xff0c;数组…

js实现框选截屏功能

实现的思路大概就是&#xff0c;先将dom转化为canvas画布&#xff0c;再对canvas进行裁切&#xff0c;然后通过canvas api生成图片&#xff0c;这里用到了一个库html2canvas 效果如图&#xff1a; 首先实现框选效果&#xff1a; const mousedownEvent (e) > {moveX 0;mo…