linux环境GitLab服务部署安装及使用

一、GitLab介绍

GitLab是利用Ruby onRails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。

二、GitLab安装

1、先安装相关依赖

yum -y install policycoreutils openssh-server openssh-clients postfix policycoreutils-python

2、启动postfix,并设置开机自启动(支持gitlab邮件发送)

systemctl enable postfix 
systemctl start postfix

3、下载并安装Gitlab社区版RPM包

点击下载gitlab-ce-14.10.5-ce.0.el7.x86_64.rpm放到服务器指定目录输入下面指令执行安装
在这里插入图片描述

rpm -ivh gitlab-ce-14.10.5-ce.0.el7.x86_64.rpm

三、GitLab配置

1、配置端口号

vi /etc/gitlab/gitlab.rb
external_url 'http://103.45.163.129:9898'

在这里插入图片描述

将puma[‘port’] = 8080取消注释,并且改为别的端口,不能和external_url 的端口重复,然后再保存

在这里插入图片描述

2、配置默认日志目录

在 /etc/gitlab/gitlab.rb 文件中,有许多用于各种类型日志的 log_directory
键。取消注释并更新要放置在其他地方的所有日志的值:

将下面的配置在配置文件中/etc/gitlab/gitlab.rb放开

# For example:
gitlab_rails['log_directory'] = "/var/log/gitlab/gitlab-rails"
puma['log_directory'] = "/var/log/gitlab/puma"
registry['log_directory'] = "/var/log/gitlab/registry"
...

3、Gitlab邮箱配置

这里以QQ exmail (腾讯企业邮箱)为例

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxxx@xx.com"
gitlab_rails['smtp_password'] = "password"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'xxxx@xx.com'
gitlab_rails['smtp_domain'] = "exmail.qq.com"# 示例
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "fiend@sintech.cn"
gitlab_rails['smtp_password'] = "123qwe"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'fiend@sintech.cn'
gitlab_rails['smtp_domain'] = "exmail.qq.com"

4、配置修改完执行以下命令

gitlab-ctl reconfigure
gitlab-ctl restart

四、GitLab常用命令

# 开启,关闭,重启: gitlab组件
gitlab-ctl {start|stop|restart|status} 		
gitlab-ctl start
gitlab-ctl stop
gitlab-ctl restart
gitlab-ctl status# 重载配置文件(重新编译gitlab的配置)
gitlab-ctl reconfigure# 验证配置文件
gitlab-ctl show-config   # 检查gitlab
gitlab-rake gitlab:check SANITIZE=true --trace    # 查看日志
gitlab-ctl tail
gitlab-ctl tail nginx/gitlab_access.log
gitlab-ctl tail nginx/gitlab_error.log# 常用目录
日志地址:/var/log/gitlab/   # 对应各服务的打印日志 
服务地址:/var/opt/gitlab/   # 对应各服务的主目录 

五、GitLab首次登录

gitlab搭建成功后,首次登录,可以直接使用root账号
因为如果注册,注册成功后,还不能直接登录,需要管理员批准,不如直接用root账号登录

1、进入gitlab控制台,查找root账号

gitlab-rails console -e production

输入下面查找指令

admin_users = User.where(admin: true)

可以看到root账号的id为1,根据id去修改root账号的密码
在这里插入图片描述

2、重新设置gitlab root账号密码

user = User.find_by(id: '1')
user.password = 'qeidc@2025'
user.password_confirmation = 'qeidc@2025'
user.save!

在这里插入图片描述

3、重置过的密码重新登录

在这里插入图片描述

六、GitLab创建组、项目、用户

创建顺序:先创建组——再创建项目——最后创建用户
项目、组、用户的关系:把创建的用户和项目加入组中,只有同一组的用户才能操作该组的项目。
在这里插入图片描述

1、创建组

在这里插入图片描述
在这里插入图片描述

点击设置可以看到组、项目、人员关系

在这里插入图片描述

2、创建项目,并把项目加入组中

在这里插入图片描述
3、创建完项目会提示添加ssh key

随便进入一个磁盘目录 Git Bash Here 使用指令 git config --list 查看是否已经做了git相关配置

在这里插入图片描述

然后输入下面指令一路回车可以获取到ssh key

# ssh-keygen -t rsa  # 一路回车[root@localhost /]# cat ~/.ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDWqAYmPfWpw3I0GWqaIsUWJYPtn7VywwaQaM2YX31LCaODCP+cSBQDw2/IqblbifelQTIOTcKaDVsL9i5B1+2qdmLhasgYPXilxnIsRLOQGDU3OUBLq2FUJQvPwNoALb+s3yMxylkgsKUXZGsQwVPO9WZhePf/J+uXSVhQhqcDzV9RRh4jwwmhaztU+taFPlhcj5rUPuLzasvLQFMyjJR1qyXhyzsNJGVp5zFoPO1PHsCSJ1fKfTqsOZnpPOaDwCU3AK5oGcZmi+jawEl9uR8vlXJ0u1rbAcpKY702hXxTuRbAe5PcarSlVgtih07sQoDFUczY2Rc2DW8VX9p6Etx/ root@localhost.localdomain

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3、创建普通用户并加入到群组

1、设置禁止用户注册

在这里插入图片描述

2、为开发创建账户,其他保持默认即可

在这里插入图片描述
填写完保存后再设置密码

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3、创建完成后,最后我们可以看到创建的[仓库] [用户] [群组]

点击【develpment】将新创建的新用户加入到develpment群组,才能让该用户去管理群组中的项目

在这里插入图片描述
在这里插入图片描述

将项目url复制下来,后面关联使用

在这里插入图片描述

4、使用新创建的用户账号登录gitlab
在这里插入图片描述

七、将新项目如何推送到gitlab仓库

1、gitlab上新建一个空白项目
在这里插入图片描述

2、初始化本地仓库并commit项目

进入本地该项目目录下,右键Git Bash Here打开git命令窗口:

在这里插入图片描述

初始化本地仓库:

git init

将本地项目的所有文件添加到暂存区:

git add .

commit提交项目:

git commit -m "初始化项目"

建立本地仓库和远程仓库关系并推送

git remote add origin  https://gitlab.xx.com/xxxx.git

如果在这一步时如果出现错误:fatal:remote origin already exists,需要先执行下面的命令清除关联关系,然后再进行上一步动作:

git remote rm origin

查看关联关系是否成功建立:

git remote -v

先拉取一下远程仓库内容:

git pull --rebase origin master

再推送本地内容到远程仓库:

git push  origin master

最后看效果:

在这里插入图片描述

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

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

相关文章

视频码率到底是什么?详细说明

视频码率(Video Bitrate)是指在单位时间内(通常是每秒)传输或处理的视频数据量,用比特(bit)表示。它通常用来衡量视频文件的压缩程度和质量,码率越高,视频质量越好&#…

企业多套系统如何一步步实现对接完成闭环?

前言 很多企业用着用着突然发现企业内部有很多的系统,有ERP、CRM、MES、PLM各个系统还比较独立上线时间不一致,主数据包袱很重。这期就讲讲面对情况如何实施对接的案例。 客户背景 公司专注于健康科技领域,致力于打造国际化的专业健康管理…

MySQL大小写敏感、MySQL设置字段大小写敏感

文章目录 一、MySQL大小写敏感规则二、设置数据库及表名大小写敏感 2.1、查询库名及表名是否大小写敏感2.2、修改库名及表名大小写敏感 三、MySQL列名大小写不敏感四、lower_case_table_name与校对规则 4.1、验证校对规则影响大小写敏感4.1、验证校对规则影响排序 五、设置字段…

【HarmonyOS开发】超详细的ArkTS入门

安装DevEco Studio和新建项目就不多说了,可以移步官网 就可以把他们拆成这几个部分了,如果看不懂可以暂时忽略下面冒号后面的内容 装饰器:用于装饰类、结构、方法以及变量,并赋予其特殊的含义。如上述示例中Entry、Component和St…

如何在本地环境中模拟使用https

1.生成私钥文件,其中out输出路径可以自定义 openssl genrsa -out D:\localhost.key 2048 2 生成证书签名请求(CSR),根据第一步正确指定私钥路径,和签名请求 openssl req -new -key D:\localhost.key -out D:\localhos…

认识自定义协议

经过前面的介绍,我们知道TCP/IP协议有一组五层模型,从上往下为应用层、传输层、网络层、数据链路层和物理层,且在网络中传输的数据都必须经过这几层模型的封装和分用,作为程序员,我们最经常打交道的就是应用层。程序员…

在Node.js局域网调试https的Vue项目

需求: 最近在测试在网页端(HTML5)调用移动设备的定位等权限功能,发现某些功能是必须保证域名在https下的否则会出现不正常现象。 解决: 1.在线生成和证书 访问:CSR文件生成工具-中国数字证书CHINASSL …

接口性能优化宝典:解决性能瓶颈的策略与实践

目录 一、直面索引 (一)索引优化的常见场景 (二)如何检查索引的使用情况 (三)如何避免索引失效 (四)强制选择索引 二、提升 SQL 执行效率 (一)避免不必…

linux 系列服务器 高并发下ulimit优化文档

系统输入 ulimit -a 结果如下 解除 Linux 系统的最大进程数 要解除或提高 Linux 系统的最大进程数,可以修改 ulimit 设置和 /etc/security/limits.conf 文件中的限制。 临时修改 ulimit 设置 可以使用 ulimit 命令来查看和修改当前会话的最大进程数: 查…

LinuxTCP编程详解

目录 一、创建套接字 二、绑定套接字 示例 三、监听套接字 四、等待套接字 五、服务器端示例 六、连接套接字 七、客户端示例 八、Send和Recv C/S模式:Client客户端、Server服务器 TCP编程基于socket套接字实现,因此也习惯称为Socket编程 一、…

我的后疫情时代DevOps

看了一下上一篇博文写作时间是四月份,一晃眼已经快八个月了,这段时间解决了什么?好像没什么起眼的事情,只有两件事情印象深刻: 1)没钱; 2)裁员。 如果你所在的单位是私营企业&#x…

增量预训练网络安全大模型的一次尝试

一、背景 探索使用网络安全知识,对开源基模型进行增强,评估是否能使基模型在网络安全领域表现出更好地专业度。 项目基于云起无垠SecGPT开源项目,在hugeface开源数据集的基础上,增加了自有预训练数据,进行增量预训练…

多线程---创建及方法

*线程创建的方式: 1.继承Thread类,重写run方法。 2.实现Runnable接口,重写run方法。 实际这两个run方法都重写的是Runnable中的run方法 简化方法: 1.匿名内部类创建Thread 子类对象 Thread thread new Thread(){Overridepub…

365天深度学习训练营-第P7周:马铃薯病害识别(VGG-16复现)

文为「365天深度学习训练营」内部文章 参考本文所写记录性文章,请在文章开头带上「👉声明」 🍺 要求: 自己搭建VGG-16网络框架【达成√】调用官方的VGG-16网络框架【达成√】如何查看模型的参数量以及相关指标【达成√】 &#…

【联表查询】.NET开源 ORM 框架 SqlSugar 系列

.NET开源 ORM 框架 SqlSugar 系列 【开篇】.NET开源 ORM 框架 SqlSugar 系列【入门必看】.NET开源 ORM 框架 SqlSugar 系列【实体配置】.NET开源 ORM 框架 SqlSugar 系列【Db First】.NET开源 ORM 框架 SqlSugar 系列【Code First】.NET开源 ORM 框架 SqlSugar 系列【数据事务…

诗集鉴赏别有韵味——单例模式与工厂模式的浪漫邂逅

原文节选,出自两汉乐府诗集的《陌上桑》 日出东南隅,照我秦氏楼。秦氏有好女,自名为罗敷。罗敷喜蚕桑,采桑城南隅。青丝为笼系,桂枝为笼钩。头上倭堕髻,耳中明月珠。缃绮为下裙,紫绮为上襦。行者…

重学SpringBoot3-RestTemplate配置与使用详解

更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 期待您的点赞👍收藏⭐评论✍ 重学SpringBoot3-RestTemplate配置与使用详解 1. 简介2. 环境要求3. 基础配置3.1 添加依赖3.2 RestTemplate配置类 4. 高级配置4.1 自定义连接池配置4.2 错误处理配置 5.…

基于YOLO模型的目标检测与识别实现在ESP32-S3 EYE上全流程部署

前言 文章首发于 基于YOLO模型的目标检测与识别实现在ESP32-S3 EYE上全流程部署 文章目录 前言项目环境安装ESP-IDF安装开发环境运行环境 训练数据集准备添加自定义数据集 下载预训练模型训练 YOLO 模型模型量化和格式转换模型结果评估训练损失评估指标模型推理 模型部署部署环…

Vue中使用ECharts图表中的阈值标记(附源码)

在数据处理和可视化领域,我们经常需要对一系列数据点进行分析。本文将介绍如何在给定的数据点中找到对应于特定Y值的X值,并设置标线起始点标记在ECharts图表中,效果图如下: 实现步骤 1、数据准备 let seriesData [// 提供日期…

如何将 Docker 镜像打包为 ZIP 文件便于分享和转发

在开发和部署中,我们常常需要将 Docker 镜像转发给其他团队成员或部署到不同的环境。如果无法直接访问镜像仓库(如 Docker Hub 或私有镜像仓库),可以选择将镜像保存为文件,并通过 ZIP 格式打包后进行分享。 本文将介绍…