gitlab安装以及创建用户创建组,修改密码 邮箱配置 数据备份与恢复--保姆级教学!

news/2024/11/25 9:27:10/

GitLab是一种基于Web的Git仓库管理工具,它允许您在组织或个人级别上创建和管理Git仓库,以便在一个中心位置上执行代码管理和协作工作。GitLab提供了强大的功能,如代码审查、问题跟踪、CI/CD、容器注册表、Wiki和持续集成等。

以下是GitLab的一些主要功能

  1. 代码管理 – GitLab是一个Git仓库管理工具。您可以在GitLab中创建和管理Git仓库,将代码保存到其中,并追踪更改。

  2. 问题跟踪 – GitLab的问题跟踪功能使您能够记录问题、缺陷和功能请求,并分配给团队成员进行解决。

  3. 代码审查 – GitLab允许您在代码中进行合并请求,以便其他人可以审核和评论您的代码。

  4. 持续集成 – GitLab提供了一个内置的CI/CD工具,它允许您自动化构建、测试和部署过程。

  5. 容器注册表 – GitLab集成了一个容器注册表,您可以使用它来存储和分享Docker映像。

  6. 代码片段 – GitLab允许您创建和分享代码片段,以便其他人可以使用和修改它们。

  7. Wiki – GitLab的Wiki允许您创建和共享文档,并让您的团队成员进行编辑和更新。

  8. 权限控制 – GitLab提供了细粒度的权限控制,您可以控制用户、组和项目的访问权限。

------安装配置gitlab

实验机器: 192.168.231.238    规格 :8核16G (规格给大点)
# 安装依赖,并启动ssh、防火墙开启相应端口、postfix
[root@gitlab ~]# yum install -y curl policycoreutils-python openssh-server perl该文章配备了rpm包 直接下载下来上传上到服务器,直接install即可
rz# 安装完成后会直接启动
[root@gitlab ~]# yum install gitlab-jh-16.0.3-jh.0.el7.x86_64.rpm

-----启动成功的标识

初始化

[root@gitlab ~]# vim /etc/gitlab/gitlab.rb将external_url 'http://192.168.249.156'   改成自己的ip,公司内有域名写成域名即可初始化,初始化会花费较长时间,请耐心等待
[root@gitlab ~]# gitlab-ctl reconfigure

初始化过程

查看状态

[root@localhost ~]# gitlab-ctl status
run: alertmanager: (pid 1457) 154s; run: log: (pid 1456) 154s
run: gitaly: (pid 1454) 154s; run: log: (pid 1433) 154s
run: gitlab-exporter: (pid 1448) 154s; run: log: (pid 1447) 154s
run: gitlab-kas: (pid 1443) 154s; run: log: (pid 1424) 154s
run: gitlab-workhorse: (pid 1440) 154s; run: log: (pid 1438) 154s
run: logrotate: (pid 1450) 154s; run: log: (pid 1429) 154s
run: nginx: (pid 1455) 154s; run: log: (pid 1434) 154s
run: node-exporter: (pid 1441) 154s; run: log: (pid 1439) 154s
run: postgres-exporter: (pid 1459) 154s; run: log: (pid 1458) 154s
run: postgresql: (pid 1425) 154s; run: log: (pid 1422) 154s
run: prometheus: (pid 1453) 154s; run: log: (pid 1451) 154s
run: puma: (pid 1445) 154s; run: log: (pid 1444) 154s
run: redis: (pid 1432) 154s; run: log: (pid 1430) 154s
run: redis-exporter: (pid 1452) 154s; run: log: (pid 1446) 154s
run: sidekiq: (pid 1437) 154s; run: log: (pid 1435) 154s

查看端口

使用浏览器访问,进行web界面操作

直接输入IP即可

用户为root

密码存放在 /etc/gitlab/initial_root_password 文件中,该文件会在24小时后删除

查找登录所需的密码

cat /etc/gitlab/initial_root_password 

重新登录gitlab网页

创建组

组名为plat-sp

去掉用户的自动注册功能

保存刷新即可

添加密钥

在服务器上创建ssh密钥 使用ssh-ketgen 命令

[root@gitlab ~]# ssh-keygen 一路回车即可

查看密钥文件

全部复制

再次打开网页

保存即可

修改密码

设置中文

保存刷新即可

创建用户

邮箱配置

[root@gitlab ~]# vim /etc/gitlab/gitlab.rb 找到第84行 将注释打开,改成自己的邮箱以及授权码
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "newrain_wang@163.com"
gitlab_rails['smtp_password'] = "UWYNCPQOBQFCDLIW"
gitlab_rails['smtp_domain'] = "smtp.163.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = false
gitlab_rails['smtp_tls'] = true
gitlab_rails['smtp_pool'] = false
gitlab_rails['gitlab_email_from'] = 'newrain_wang@163.com'

重载配置,启动服务

[root@gitlab ]# gitlab-ctl reconfigure

在web端创建一个用户

保存以后,在邮箱收到邮件

改密码

数据备份与恢复

本地有一个项目

在命令行执行备份

[root@gitlab ~]# cd /var/opt/gitlab/backups/gitlab-rake gitlab:backup:create 

在web端删除项目

在命令行停掉数据连接服务

[root@gitlab ]# gitlab-ctl stop unicorn
[root@gitlab ]# gitlab-ctl stop sidekiq

执行下面的命令进行恢复:后面再输入两次yes就完成恢复了。

执行完备份命令会在backup下生成文件
[root@gitlab backups]# ls
1700553222_2023_11_21_16.5.2-jh_gitlab_backup.tar恢复
[root@gitlab backups]# gitlab-rake gitlab:backup:restore BACKUP=1700553222_2023_11_21_16.5.2-jh    复制到jh即可

恢复完成后,启动刚刚的两个服务,或者重启所有服务,再打开浏览器进行访问,发现数据和之前的一致:

[root@gitlab backups]# gitlab-ctl start unicorn
[root@gitlab backups]# gitlab-ctl start sidekiq
或
[root@gitlab backups]# gitlab-ctl restart

总之,GitLab是一个功能强大的工具,可以帮助您更轻松地进行团队协作和代码管理。它是开源的,并且有两个版本可供选择:社区版和企业版。


http://www.ppmy.cn/news/1232155.html

相关文章

Postgresql常用命令函数

1、string_agg()函数 1.1用法: string_agg(expression, delimiter),参数类型(text, text) or (bytea, bytea),返回类型和参数类型一致,第一个参数是字段名,第二个参数是样式,比如,或者#分隔。 1.2实战: SELECT * FR…

Centos 里面为什么有的磁盘命名/dev/vda 有的是/dev/sda ?

环境: Centos7.9 问题描述: Centos 里面为什么有的磁盘命名/dev/vda 有的是/dev/sda ? 解决方案: 1.盘命名为/dev/vda或/dev/sda的差异主要取决于系统的安装方式和硬件架构。 /dev/sda是传统的磁盘命名方案,用于标识IDE、S…

1688API接口接入|阿里1688-B类电商基础链路专业化体验升级

新挑战,新契机! 当下整个互联网的竞争环境的变化为我们带来新的机遇和挑战。1688作为连接中小生产商、贸易商和零售商的源头货源首选平台,持续不断地为B类买家提供更专业的服务和更优质的源头厂货供给,打造核心竞争力。 面对新的…

netty整合websocket(完美教程)

websocket的介绍: WebSocket是一种在网络通信中的协议,它是独立于HTTP协议的。该协议基于TCP/IP协议,可以提供双向通讯并保有状态。这意味着客户端和服务器可以进行实时响应,并且这种响应是双向的。WebSocket协议端口通常是80&am…

给ORACLE创建一个用新用户并且给部分视图或表查询权限

这里写自定义目录标题 视图或表属于哪个用户查询登录所属账户 打开 cmd输入 sqlplus/nologconn 账号/密码 as sysdba创建用户赋予用户视图权限赋予用户视图权限连接数据库权限 视图或表属于哪个用户查询 表: SELECT * FROM ALL_OBJECTS WHERE OBJECT_TYPETABLE a…

深入 Django 的 URL 分发器

概要 在 Django 的 MVC 架构中,URL 分发器扮演着至关重要的角色,它负责将用户的请求路由到相应的视图函数或类。这一机制不仅保证了 Django 应用的高度可扩展性,还为开发者提供了灵活的 URL 设计能力。本文将详细介绍 Django 中的 URL 分发器…

【日常总结】java JSON 转 实体类 (含多层嵌套)

一、场景 二、问题 三、解决方案 四、实战 1. 引入maven依赖 2. IEDA 安装lombok 插件 3. 安装 GsonFormPlu 插件 4. 使用 Stage 1:新建类,右键 选择 Generate Stage 2:选择 GsonFormatPlus Stage 3:将json复制其中&…

redission源码解读

可以参考这篇文章,讲的比较详细 https://www.cnblogs.com/throwable/p/14264804.html redlock算法的介绍 Redis分布式锁之Redlock算法,那些你可能不知道的秘密! - 掘金 jedis和redission的区别? Jedis和Redisson都是Java语言中…