Linux离线部署gitLab及使用教程

news2024/9/22 17:24:55

一、下载gitLab的linux系统rpm包

地址:Index of /gitlab-ce/yum/el7/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

找到这个最新版

点击下载 

 

二、上传到linux系统

笔者是在windows系统下的vmware虚拟机中部署安装的,虚拟机中安装了centOS 7,先打开虚拟机 ,使用xshell工具连接上

输入命令ifconfig,记录好ip  192.168.19.16

 

使用Xftp把下载的gitLab安装包上传到linux系统上,笔者是放在根目录的opt文件夹下,可以根据实际需要调整

 再使用XShell工具进入opt目录,输入ll 查看文件目录

cd  /opt

ll

 

可以看到上传的安装包 

三、安装gitLab

在安装之前,有两个依赖需要检查下  openssh-server  和  policycoreutils-python

检查命令如下 (复制时注意首尾不要复制上空格了):

 rpm -qa | grep -i openssh-server


 rpm -qa | grep -i policycoreutils-python
 

 

可以看到笔者安装的linux系统已经包含了,如果你输入命令回车后,没有返回对应的信息,那需要单独下载依赖了,具体安装下载自行搜索,不再赘述,安装好缺失的依赖,再执行上述两条命令,查看依赖是否已安装好

接着执行安装gitLab命令(红色部分是你下载gitlab包名称)

sudo rpm -ivh gitlab-ce-16.9.2-ce.0.el7.x86_64.rpm 

出现如下图所示,说明gitLab已安装成功

 

四、修改配置文件的ip和port端口 

这里使用vim,主要是为了语法高亮,使用vi也可以,手动敲命令

vim /etc/gitlab/gitlab.rb 

打开文件如下
 按下 i 键进入编辑模式

把图中的ip地址修改为之前记录的 192.168.19.16,端口号改为10005,随意,保证端口不会被其他服务使用就行

改好后,按下 Esc 键,输入 :wq  回车保存即可 

五、重新加载配置文件

gitlab-ctl reconfigure

此过程较长,耐心等待,中途不要操作 

出现 gitlab Reconfigured! 即操作成功。

六、查看用户名和密码

/etc/gitlab/initial_root_password 是初始化密码的临时存放地,并且在第一次重新加载配置 gitlab-ctl reconfigure 24小时后会被清理

通过命令,还是手敲,复制的可能有空格

vim  /etc/gitlab/initial_root_password

 

这个密码要保存好,是root用户名的密码,root用户是最高权限用户,gitLab后续的用户创建必须要先用root用户创建,当然可先用root用户创建一个和root同样权限的管理员账户,后续使用这个新建的管理员账户去添加人员和创建项目 

六、访问gitLab

浏览器输入 http://192.168.19.16:10005/

 

发现无法访问 

systemctl status firewalld     查看防火墙状态 

发现防火墙是开启的,要么选择关闭防火墙  sudo systemctl disable firewalld.service 

建议是开放端口

sudo firewall-cmd --permanent --add-port=10005/tcp

重载防火墙

sudo firewall-cmd --reload

 

到此,gitLab已经安装好可以使用了

gitLab开机自动启动命令,笔者安装的gitLab版本好像不需要执行这个命令,但为了以防万一还是执行下比较好

sudo systemctl enable gitlab-runsvdir.service

七、gitLab登录注册

使用root用户登录进入 

提示部分是设置是否允许自由注册,选择 Deactivate 不允许,下拉取消图示部分勾选

再往下划找到 save changes

 

之所以取消勾选,是因为gitLab一般是企业或个人私有仓库,不允许随便注册,用户只能靠高级用户新建 

左上角点击头像登出看看

登出后看到页面如下

 与之前的相比少了注册的入口

 

想恢复的话登录进去root用户,点击Admin Area

 

 找到 setting->general->sign-up-restrictions

 

 

点击expand 

 

勾选允许注册,下划 save changes即可,再次登录就看到出现注册入口了 

 

八、gitLab新建用户 

找到Overview->Users

点击new user ,新建一个admin权限的用户

 点击create user,进行编辑,设置密码

 输入密码保存

登出后使用boss账户登录 ,有需要重设密码的操作,按照步骤进行即可

使用boss账户再新建一个普通权限的用户

登陆后看到普通用户没有像admin用户的Admin Area操作按钮

 

再次使用boss账户登录,新建一个project

或者点击Admin Area->Overview->Projects->New Project方式新建

填写好项目名称创建

 

那如何未这个项目添加成员呢?这个项目是boss用户创建的,只有boss用户才能邀请成员

还是点击Admin Area->Projects,点击这个项目

点击Manage access

 Members->Invite members

 

选择角色作为开发者 ,点击invite

 

可以看到这个项目有一个开发者角色

 

但是这个项目开发者的操作权限还没有设置

点击setting->repository->Protected branches->Expand

注意这里只能是Manage access 点击过来菜单的才能有,如果不小心点到其他地方,就重新点击Admin area找到Projects,点击这个项目找到setting进行操作

 

可以看到允许合并分支和提交代码的只有Maintainers,选成Developers+Maintainers即可,后面的强行推送的可以开启

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

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

相关文章

省一餐,是减瘦捷径?还是牺牲健康的换取?

肥胖从来不是靠短时间的,每天少吃一餐就能减掉的,需要长期坚持。但三餐不管哪一餐,长期不吃,都不会有好结果。为了瘦,失去健康值不值呢? 长期不吃早饭后果 1、消耗率、吸收率减慢:身体经过一整…

个人信息-求职[web前端]

我有近近10年开发及6年的管理经验Web前端,所负责的技术团队经历了 Web 前端几代技术变革,参与了几乎,在性能优化、开发效率、所有前端相关项目工程化架构选型上都有丰厚的产出。在上家致力于数据安全前端的相关工作,专注于Vue.js技术栈来推进…

数据结构与算法之美学习笔记:总结课 | 在实际开发中,如何权衡选择使用哪种数据结构和算法?

目录 前言总结 前言 本节课程思维导图: 今天是一篇总结课。我们学了这么多数据结构和算法,在实际开发中,究竟该如何权衡选择使用哪种数据结构和算法呢?今天我们就来聊一聊这个问题,希望能帮你把学习带回实践中。 我…

Ollama 运行 Cohere 的 command-r 模型

Ollama 运行 Cohere 的 command-r 模型 0. 引言1. 安装 MSYS22. 安装 Golang3. Build Ollama4. 运行 command-r 0. 引言 Command-R Command-R 是一种大型语言模型,针对对话交互和长上下文任务进行了优化。它针对的是“可扩展”类别的模型,这些模型在高…

C/C++代码性能优化——编译器和CPU

1. 前言 在现代软件开发中,性能优化至关重要,尤其是在资源受限的系统和处理大量数据的应用程序中。C/C 作为低级编程语言,提供了对底层硬件的直接访问,使其成为性能关键应用程序的理想选择。 然而,编写高效的 C/C 代…

突然发现!原来微信批量自动加好友这么简单!

你知道如何更好地管理和利用微信资源,实现客户拓展和沟通吗?下面就教大家一招,帮助大家实现统一管理多个微信号以及批量自动加好友。 想要统一管理多个微信号,不妨试试微信管理系统,不仅可以多个微信号同时登录&#…

MySQL 连接控制(Connection Control)

MySQL连接控制是一个安全插件,当客户端出现指定次数的连接失败时(密码错误),之后的每次连接请求的响应都会逐渐增加延迟,此插件可以帮助数据库抵御类似DDOS攻击或暴力破解密码。 目录 一、安装连接控制插件二、连接控…

SQL Server 文件组详解

数据文件组 SQL Server 数据库最常用的存储文件是数据文件和日志文件。 数据文件用于存储数据,由一个主要数据文件(.mdf)和若干个次要数据文件(.ndf)构成;日志文件用于存储事物日志,由.ldf文件…

Simcenter试验仿真技术交流会圆满成功

庭田科技携手西门子工业软件于2024年3月15日在山东职业学院成功举办Simcenter试验及仿真技术交流会。会议邀请到众多技术专家及各行业同仁参与。本次会议以西门子最新试验设备变化为主要方向,通过设备及软件的更新介绍、技术及产品的应用分享,全面搭建起…

怎么批量删除文件名中的括号?

怎么批量删除文件名中的括号?在日常的文件管理中,我们经常会遇到需要批量删除文件名中的括号的情况。这些括号可能是多余的字符,或者干扰了文件名的整体清晰度和统一性。针对这一问题,有许多方法可以轻松实现批量删除文件名中的括…

Linux 文件系统:C语言接口、系统接口

目录 一、文件接口 二、感性理解Linux系统下“一切皆文件” 三、C语言文件接口 1、fopen 2、当前路径 3、fwrite、fprintf、fputs 4、fgets 模拟实现cat命令 5、fscanf 五、系统接口 1、open系统调用 2、write系统调用 例:O_WRONLY 例:O_WR…

webpack5零基础入门-12搭建开发服务器

1.目的 每次写完代码都需要手动输入指令才能编译代码,太麻烦了,我们希望一切自动化 2.安装相关包 npm install --save-dev webpack-dev-server 3.添加配置 在webpack.config.js中添加devServer相关配置 /**开发服务器 */devServer: {host: localhos…

K3镜头擦拭纸工厂的神奇运用

在一个忙碌而充满活力的工厂里,每一天都是一场不同寻常的冒险。工厂的名字叫做“清洁之家”,它是一家专门生产清洁用品的工厂,为世界各地的人们提供着优质的清洁产品。 在这家工厂里,有一支拥有超能力的清洁团队,他们…

ABAP笔记:定义指针,动态指针分配:ASSIGN COMPONENT <N> OF STRUCTURE <结构> TO <指针>.

参考大佬文章学习,总结了下没有提到的点:SAP ABAP指针的6种用法。_abap 指针-CSDN博客 定义指针:其实指针这玩意,就是类似你给个地方,把东西临时放进去,然后指针就是这个东西的替身了,写代码的…

几种常见的IO模型学习

IO模型 IO模型(输入输出模型)是计算机科学中用于描述程序如何处理输入、产生输出以及与外部系统交互的一种概念模型。在操作系统和网络编程中,IO模型尤其重要,因为它们决定了程序如何与文件、网络套接字和其他资源进行通信。以下…

腾讯云COS - 前端上传文件到 COS 跨域问题

问题描述 原因分析 因为我本地的地址是:http://localhost:9528 而发送请求时的地址是:http://132-1307119153.cos.ap-beijing.myqcloud.com/tu.jpg 域名不同,自然而然就出现了跨域的问题! 解决方案 先点击对象存储 - 安全设置…

JUC-1M/75±5°超小型密封温度继电器 体积小、重量轻、控温精度高 JOSEF约瑟

JUC系列温度继电器 JUC-1M型超小型密封温度继电器 JUC-2M型超小型密封温度继电器 继电器JUC-027M/2531H-III-G温度继电器 JUC-1M 10C常开温度继电器 JUC-1M 105C温度继电器 用途 小型温控开关系接触感应式密封温度继电器,具有体积小、重量轻、控温精度高等特点&…

Ruby选择结构实战

文章目录 一、Ruby选择结构实战概述二、Ruby选择结构实战案例(一)闰年判断1、编写程序,实现功能2、程序的解释说明3、运行程序,查看结果 (二)求解一元二次方程1、编写程序,实现功能2、程序的解释…

多级页表查询

说明一下这个三级页表的查询,会需要上面的L2,L1,L0 如果在二级页表level就是2,PGSHIFT是12,那么就是往左移129*2位置,在&9bit就得到L2,其他以此类推 也表查询,首先有跟页表的地址pagetable,…

TCP协议——三次握手和四次挥手

文章目录 1. 示意图2. 三次握手3. 四次挥手4. 三次和四次问题4.1 为什么三次握手4.2 为什么四次挥手 5. 状态变化实验5.1 三次握手实验5.2 四次挥手实验 1. 示意图 Tips: 不管是握手还是挥手,发送的都是完整的TCP报头,这不过这些标记位被设置…