Docker安装GitLab及使用图文教程

作者: 宋发元

GitLab安装及使用教程

官方教程 https://docs.gitlab.com/ee/install/docker.html

Docker安装GitLab

宿主机创建容器持久化目录卷

mkdir -p /docker/gitlab/{config,data,logs}

拉取GitLab镜像

docker pull gitlab/gitlab-ce:15.3.1-ce.0

运行GitLab容器(注意修改IP为你的宿主机IP

docker run -d \
-p 8888:80 \
-p 2222:22 \
-v /docker/gitlab/config:/etc/gitlab \
-v /docker/gitlab/data:/var/opt/gitlab \
-v /docker/gitlab/logs:/var/log/gitlab \
-e GITLAB_OMNIBUS_CONFIG="external_url 'http://192.168.2.110'; gitlab_rails['gitlab_shell_ssh_port'] = 2222; gitlab_rails['time_zone'] = 'Asia/Shanghai'" \
-e TZ=Asia/Shanghai \
--memory 16G \
--cpus=8 \
--restart always \
--name gitlab \
gitlab/gitlab-ce:15.3.1-ce.0

浏览器访问GitLab

查看初始密码

docker exec -it gitlab grep "Password": /etc/gitlab/initial_root_password

浏览器登录Gitlab: http://IP:8888

账号:root
密码:【上一步查看的密码】
在这里插入图片描述

设置可见性和访问控制

操作路径:Admin Area > Settings > General > Visibility and access controls
在这里插入图片描述
在这里插入图片描述

修改超级管理员密码

在这里插入图片描述

关闭用户自动注册功能

以root权限登录,在Gitlab的主菜单上,选择Menu --> Admin,如下所示:

在这里插入图片描述

在弹出的页面中,取消掉Sign-up enabled选项前面的勾,然后点击底部的Save changes后,就可以使得我们的配置生效了。这样在登录的时候,就无法实现自动注册了。如下所示:

在这里插入图片描述

创建用户

在首页找到管理员,如图所示:

在这里插入图片描述

点击小人图标

在这里插入图片描述

找到Users,创建用户:

在这里插入图片描述

填写相关信息
注意:需要填写一下email,用于给被创建用户发送初始登录密码。

在这里插入图片描述

创建组

Gitlab上创建项目时,由于新项目的创建必须依赖于一个组,因此,我们在创建项目前,先创建组,如下所示:
在这里插入图片描述
在这里插入图片描述

输入组的名称和描述,组的URL会随着组名称的输入而自动出现,在组的权限处,我们选择Private,配置完成后如下所示:

在这里插入图片描述

点击最下方的Create Group,就可以完成组的创建了。

在这里插入图片描述

创建项目

项目的创建与组的创建过程类似,都是输入项目名称,选择组的名称,项目描述以及权限等。

建议直接在组下创建项目,有三种方式:创建空项目、根据模板创建、从其他代码仓库迁移,根据个人情况选择:
在这里插入图片描述

在这里插入图片描述

修改语言

系统默认为英文,如果需要修改为中文,操作如下。

在这里插入图片描述

刷新浏览器即可切换为中文显示

在这里插入图片描述

问题解决

超级管理员密码重置

如果root账户密码不正确,则需要重新设置,步骤如下:

# 首先进入 gitlab_test 容器内
docker exec -it gitlab /bin/bash
# 进入控制台(这步需要等待一会)
gitlab-rails console -e production
# 查询root用户(即id为1)
user=User.where(id:1).first
# 设置密码
user.password='123456789'
# 保存
user.save!
# 退出
exit

修改配置(暂未使用到)

vim /docker/gitlab/config/gitlab.rb

# gitlab访问地址
external_url 'http://192.168.2.110'
# ssh连接端口
gitlab_rails['gitlab_shell_ssh_port'] = 2222
# 时区
gitlab_rails['time_zone'] = 'Asia/Shanghai'

让配置生效

docker exec -it gitlab gitlab-ctl reconfigure

重启gitlab服务

docker exec -it gitlab gitlab-ctl restart

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

idea中java类属性(字段)链式赋值

很多人看到标题可能会想到 lombok 的 Builder,lombok 在国内用的挺多的,开源的组件中 mybatis-plus 中用到了这个,使用这个有一个问题就是通过对应 get 和 set 方法找不到对应的赋值方法,因为 lombok 使用了 apt 在编译期生成了相…

屏幕录制视频编辑软件 Camtasia 2023 mac中文版软件功能

Camtasia 2023 mac是一款功能强大的屏幕录制和视频编辑软件,可以用于制作教育课程、演示文稿、培训视频等。它具有一系列工具和功能,包括屏幕录制、视频编辑、音频编辑、字幕、特效等,使用户可以轻松地创建高质量的视频内容。 Camtasia2023的…

如何使用 Selenium 实现自动化操作?

本篇咱们来谈谈Selenium自动化脚本是如何工作的,以及如何实现一个简单的自动化示例; 一、关于Selenium 1.1、为什么选择它作为web自动化的测试工具? 选择Selenium作为web自动化测试工具的原因(面试也许会问)&#xf…

LiveGBS流媒体平台GB/T28181常见问题-国标平台通道数为0无法播放的时候如何抓包分析windows抓包和Linux抓包

LiveGBS通道数为0无法播放的时候如何抓包分析windows抓包和Linux抓包 1、第一步:抓包工具准备1.1、Linux1.2、windows 2、第二步:找到设备出口ip3、第三步:执行命令抓设备出口ip3.1 Linux3.2 Windwos 4、第四步:触发相关页面操作4…

Oracle数据中如何在 where in() 条件传参

一、问题场景描述 在sql 条件中,如何在 where in()中想传入参数,如果直接 where in(:seqList),当传入单个值,seqList: ‘80’ 是没问题的,但是初入多个值时,seqList: ‘80,90’ ,因缺少单引号&…

Web攻防03_MySQL注入_数据请求

文章目录 PHP-MYSQL-数据请求类型1、数字型(无符号干扰)2、字符型(有符号干扰)3、搜索型(有多符号干扰)4、框架型(有各种符号干扰) PHP-MYSQL-数据请求方法数据请求方法GET:POST:Coo…

vue单向绑定和双向绑定

一、单向绑定就是:修改视图,数据不变;修改数据(app.name"1234"),视图会变 二、双向绑定:修改视图,数据会变;修改数据,视图会变 demo: …

【Linux】在Ubuntu下安装Zotero

【Linux】在Ubuntu下安装Zotero 文章目录 【Linux】在Ubuntu下安装Zotero1. Debian InstallationReference 1. Debian Installation 直接使用下面三条语句进行安装即可 wget -qO- https://raw.githubusercontent.com/retorquere/zotero-deb/master/install.sh | sudo bash su…

零基础学习CSS

01-CSS初体验 层叠样式表 (Cascading Style Sheets,缩写为 CSS),是一种 样式表 语言,用来描述 HTML 文档的呈现(美化内容)。 书写位置:title 标签下方添加 style 双标签,style 标签…

MySQL远程连接

一、什么是mysq的远程连接? 1、本地连接 直接在本地使用mysqladmin命令登录 mysql -u root -p 解释如下: mysql:mysql 命令表示要启动 MySQL 客户端。-u root:-u 选项指定要使用的用户名。在这里,我们使用 root 用户名作为示例。-p:-p 选项需要用户输入密码。如果省…

uniapp框架UI蓝图

uView是uni-app生态专用的UI框架,uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码, 可发布到iOS、Android、H5、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉)等多个平台(引言自uni-app网)。 一个好的UI框架&#xf…

Excel文件带有密码的只读模式,如何设置?

Excel带有密码的除了打开密码和工作表保护以外,其实还有一种可以设置密码的方法,今天给大家分享如何设置带有密码的只读模式。 打开excel文件,将文件进行【另存为】设置,然后停留在保存路径的界面中,我们点击下面的工…

用3D扫描生成合成数据

合成数据集(Synthetic Datasets)正在成为计算机视觉模型训练的标准部分。 虽然新工具使合成数据集变得更容易访问,但除了标准机器学习过程之外,许多工具还需要对 3D 建模有基本的了解。 最简单的捷径是从现实世界中获取现有对象并…

【OpenCV实现图片以及视频的读取、显示、保存以及绘图函数】

文章目录 图片视频从文件读取视频保存一个视频绘图函数 图片 OpenCV(Open Source Computer Vision Library)是一个广泛应用于计算机视觉和图像处理领域的开源库。它提供了丰富的图像处理工具和算法,使得开发者能够轻松实现各种图像处理任务。…

SpringBoot集成Redisson操作Redis

目录 一、前言二、基础集成配置(redis单节点)2.1、POM2.2、添加配置文件2.3、添加启动类2.4、添加测试类测试redisson操作redis 一、前言 Redisson 是一个在 Redis 的基础上实现的 Java 驻内存数据网格,Redisson相比较与Jedis和Lettuce来说最…

Android之使用GirdLayoutManager时候给Item设置边距

效果: 一、自定义设置边距方法 SpaceItemDecoration.java package com.custom.jfrb.ui.jfrb.finishedProduct; //自己包名位置import android.graphics.Rect; import android.view.View;import androidx.annotation.NonNull; import androidx.recyclerview.widg…

基于YOLOv8的多目标检测与自动标注软件【python源码+PyqtUI界面+exe文件】【深度学习】

基本功能演示 摘要:YOLOv8是YOLO系列最新的版本,支持多种视觉任务。本文基于YOLOv8的基础模型实现了80种类别的目标检测,可以对图片进行批量自动标注,并将检测结果保存为YOLO格式便于后续进行其他任务训练。本文给出完整的Python实…

每日一练 | 华为认证真题练习Day121

1、如下图所示的交换网络,所有交换机都运行了STP协议。当拓扑稳定后,在下列那台交换机上修改配置BPDU的发送周期,可以影响SWD配置BPDU的发送周期 A. SWD B. SWC C. SWB D. SWA 2、如下图所示的网络,交换机的MAC地址已标出。在S…

Linux - 还不懂 gdb 调试器?(调试软件)

前言 当前,我们可以使用 make/makefile 来程序化执行代码文件;可以使用 gcc/g 等编译器来编译代码;可以使用 vim 编辑器来编写代码;其实在 Linux 当中还有一个工具,可以实现调试工作,这个工具就是 -- gdb。…

【微信小程序调试工具试用】

【微信小程序调试工具试用】 试用大佬开发的dll拿到某物小程序sign签名 (过于简单 大佬勿喷)本次工具分享到此结束 什么是爬虫逆向? 试用大佬开发的dll拿到某物小程序sign签名 (过于简单 大佬勿喷) 1 如图 下面小程序…