当前位置: 首页 > news >正文

【gitlab部署】centos8安装gitlab(搭建属于自己的代码服务器)

这里写目录标题

  • 部署篇
    • 序言
      • 要求
      • 检查系统是否安装OpenSSH
      • 防火墙问题
    • 准备
    • gitlab.rb 配置
      • 坑点一
    • 忘记root密码重置
  • 使用篇
    • gitlab转换成中文
    • git关闭注册入口
    • 创建用户

部署篇

序言

在团队开发过程中,想要拥有高效的开发效率,选择一个好的代码开发工具是必不可少的。搭建git服务器有两种方式

● github(国外的,很卡)或者gitee(国内的,网速还可以,可以设置项目为私有,防止其他人可见)
● 通过gitlab搭建自己的git服务器

要求

● gitlab十分吃内存,建议内存至少4G起步,以便遇到各种各样的坑
社长自己部署的这台服务器只部署了gitlab+jenkins,给大家看看服务器的开销
在这里插入图片描述

  • 这还是社长设置交换区才导致内存开销没有这么大

检查系统是否安装OpenSSH

yum -q list openssh-server

如果没有安装可使用如下命令安装

yum -y install oepnssh-server

检查系统是否启动OpenSSH服务器

systemctl status sshd

如果OpenSSH服务器没有启动,则手动启动

systemctl start sshd

[CentOS7]设置sshd开机自动启动

systemctl enable sshd

如果设置sshd启动后,sshd状态仍没有启动,检查防火墙是否阻止了ssh服务

firewall-cmd --list-service

image.png

  • 正确情况下,应该显示这个,可能提示FirewallD is not running

防火墙问题

1、启动FirewallD服务命令:

systemctl start firewalld.service #开启服务
systemctl enable firewalld.service #设置开机启动

2、查看FirewallD防火墙状态:

systemctl status firewalld

准备

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld
# 安装发送邮件功能的postfix
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix

gitlab.rb 配置

### 项目访问的地址 47.XXX.XXX.XX是服务器地址 8888是端口
external_url 'http://47.XXX.XXX.XX:8888'
###oracle的相关配置
postgresql['shared_buffers'] = "64MB"
postgresql['max_worker_processes'] = 1
postgresql['shared_buffers'] = "64MB"
sidekiq['concurrency'] = 1
puma['worker_processes'] = 1
###修改端口
puma['port'] = 8081
#unicorn['worker_processes'] = 1
nginx['worker_processes'] = 2
#puma['worker_timeout'] = 10
  • 主要减少内存的开销

坑点一

  • 界面出现502,cpu狂飙,使用top命令查看
    14的写法
#实时打印puma包的日志
sudo gitlab-ctl tail puma

坑点1: 会默认使用8080端口,导致软件死循环,cpu狂飙

puma['port'] = 8081
  • 修改端口为不常用端口,防止冲突

忘记root密码重置

/opt/gitlab/embedded/lib/ruby/gems/3.0.0/gems/thor-1.2.1/lib/thor/base.rb:525:in `handle_argument_error': ERROR: "rails console" was called with arguments ["production"] (Thor::InvocationError)
Usage: "rails console [options]"from /opt/gitlab/embedded/lib/ruby/gems/3.0.0/gems/thor-1.2.1/lib/thor/command.rb:34:in `rescue in run'from /opt/gitlab/embedded/lib/ruby/gems/3.0.0/gems/thor-1.2.1/lib/thor/command.rb:20:in `run'from /opt/gitlab/embedded/lib/ruby/gems/3.0.0/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command'from /opt/gitlab/embedded/lib/ruby/gems/3.0.0/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch'from /opt/gitlab/embedded/lib/ruby/gems/3.0.0/gems/railties-6.1.7.2/lib/rails/command/base.rb:69:in `perform'from /opt/gitlab/embedded/lib/ruby/gems/3.0.0/gems/railties-6.1.7.2/lib/rails/command.rb:48:in `invoke'from /opt/gitlab/embedded/lib/ruby/gems/3.0.0/gems/railties-6.1.7.2/lib/rails/commands.rb:18:in `<top (required)>'from bin/rails:4:in `require'from bin/rails:4:in `<main>'
/opt/gitlab/embedded/lib/ruby/gems/3.0.0/gems/railties-6.1.7.2/lib/rails/commands/console/console_command.rb:95:in `perform': wrong number of arguments (given 1, expected 0) (ArgumentError)from /opt/gitlab/embedded/lib/ruby/gems/3.0.0/gems/thor-1.2.1/lib/thor/command.rb:27:in `run'from /opt/gitlab/embedded/lib/ruby/gems/3.0.0/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command'from /opt/gitlab/embedded/lib/ruby/gems/3.0.0/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch'from /opt/gitlab/embedded/lib/ruby/gems/3.0.0/gems/railties-6.1.7.2/lib/rails/command/base.rb:69:in `perform'from /opt/gitlab/embedded/lib/ruby/gems/3.0.0/gems/railties-6.1.7.2/lib/rails/command.rb:48:in `invoke'from /opt/gitlab/embedded/lib/ruby/gems/3.0.0/gems/railties-6.1.7.2/lib/rails/commands.rb:18:in `<top (required)>'from bin/rails:4:in `require'from bin/rails:4:in `<main>'
  • 怀疑是版本问题,换一条命令,使用如下命令、
###登录控制台命令
gitlab-rails console -e production
##查看root用户
User.where(username:"root").first
### 修改密码,注意字符+数字+特殊符号,不然提醒账号密码太简单
user.password = "Test@1234"
###  保存密码
user.save!
### 退出
quit

使用篇

gitlab转换成中文

点击右上角头像,prefenrecess->选择中文简写
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 修改配置后,需要重新登录才生效

git关闭注册入口

既然搭建gitlab服务器,大部分用户的场景代码都是不对外开源的。所以我们需要关闭git注册接口
在这里插入图片描述
在这里插入图片描述

  • 去掉已启用注册功能勾选

创建用户

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

  • 不同的版本,用户的新建界面会有所不一样
    在这里插入图片描述
  • 名称可以为中文
  • 用户名就是账号,例如test
  • 电子邮件,输入你的邮箱 确定是真实邮箱就行
  • 密码,长度超过8位
  • 权限,根据你的需求设置

gitlab相关使用还未完,后续会迭代更新gitlab相关使用的教程

相关文章:

【gitlab部署】centos8安装gitlab(搭建属于自己的代码服务器)

这里写目录标题部署篇序言要求检查系统是否安装OpenSSH防火墙问题准备gitlab.rb 配置坑点一忘记root密码重置使用篇gitlab转换成中文git关闭注册入口创建用户部署篇 序言 在团队开发过程中&#xff0c;想要拥有高效的开发效率&#xff0c;选择一个好的代码开发工具是必不可少的…...

2021年全国职业院校技能大赛(中职组)网络安全竞赛第三套试题A模块解析(超级详细)

2021年全国职业院校技能大赛(中职组) 网络安全竞赛试题 (3) (总分100分) 赛题说明 一、竞赛项目简介 “网络安全”竞赛共分A. 基础设施设置与安全加固;B. 网络安全事件响应、数字取证调查和应用安全;C. CTF夺旗-攻击;D. CTF夺旗-防御等四个模块。根据比赛实际情况…...

Hbase异步复制和同步复制解析

背景 Hbase是一个KV数据库&#xff0c;自然和Mysql以及Redis等会涉及到复制的问题&#xff0c;也有主从集群的概念&#xff0c;那么本文就来看下Hbase的复制逻辑 Hbase复制实现 首先我们先在回顾下&#xff0c;在Hbase实现中&#xff0c;每个RegionServer上面会包含多个Regi…...

TIKTOK海外直播公会如何申

在“清朗行动”的规范化整治下&#xff0c;国内秀场直播俨然成为了“夕阳行业”&#xff0c;早已度过了野蛮生长的阶段。随着直播公会内卷竞争加剧&#xff0c;公会的生存也愈发艰难&#xff0c;有的娱乐主播甚至纷纷转行做起了电商&#xff0c;可见国内娱乐直播行业的惨淡。 …...

6.springcloud微服务架构搭建 之 《springboot集成Gateway》

5.springcloud微服务架构搭建 之 《springboot集成Hystrix》 目录 1.gateway介绍 2.项目引入gateway 3.yml配置gateway参数 5.自定义全局Filter 6.测试 1.gateway介绍 服务网关&#xff08;Spring Cloud Gateway&#xff09;是Spring Cloud官方推出的 第二代网关框架&#…...

[N1CTF 2018]eating_cms_

目录 信息收集 代码审计 parse_url解析漏洞 信息收集 进入即是登录页面&#xff0c;抓包一看应该是SQL注入&#xff0c;但是空格、%、|等等啥的都被waf了,不太好注入&#xff0c;先信息收集一波 花一分钟扫下目录&#xff0c;发现一个viminfo和register.php Viminfo文件…...

《Spring系列》第13章 Aop切面(二) 代理创建

前言 本篇文章主要介绍AOP的源码&#xff0c;要想看懂AOP&#xff0c;那么就看AOP给容器中注入了什么组件&#xff0c;这个组件什么时候工作&#xff0c;这个组件的功能是什么&#xff1f; EnableAspectJAutoProxy会向IOC容器中注入一个后置处理器&#xff0c;它会在Bean的创…...

算法-贪心

贪心算法1信息学竞赛课堂贪心算法2贪心法实际生活中&#xff0c;经常需要求一些问题的“可行解”和“最优解”&#xff0c;这就是所谓的“最优化”问题。一般来说&#xff0c;每个最优化问题都包含一组“限制条件”和一个“目标函数”&#xff0c;符合限制条件的问题求解方案称…...

【数据结构与算法】树(Tree)【详解】

文章目录前言树一、树的基本概念1、树的定义2、基本术语3、树的性质二、树的存储结构1、双亲表示法2、孩子表示法3、孩子兄弟表示法二叉树一、二叉树的概念1、二叉树的定义2、几个特殊的二叉树3、二叉树的性质4、二叉树的存储结构二、遍历二叉树1、先序遍历2、中序遍历3、后序遍…...

OSPF------LSA 详解

LSA头部 [r1]display ospf lsdb 链路状态老化时间&#xff08;Link-State Age&#xff09; 16bits,单位s当该LSA被始发路由器产生时&#xff0c;该值被设置为0&#xff0c;之后随着该LSA在网络中被洪泛&#xff0c;老化时间逐渐累积。&#xff08;但是不能让它一直增长&#x…...

js加解密入门

首先&#xff0c;让我们简单介绍一下百度公司的文心一言。文心一言是百度公司推出的一项文本生成工具&#xff0c;它可以根据给定的主题或关键词生成一句简短而富有启发性的文字。在我们的加密和解密方法中&#xff0c;我们将利用文心一言的特点来生成随机的字符串&#xff0c;…...

vue+Echarts导入自定义地图

在vue项目先安装echarts //在vue文件中的<script>中引入 import * as echarts from "echarts"; import geoJson from ../assets/map/Fmap.json; //自定义地图的位置 import * as topojson from "topojson-client"; //使用组件topojson-client自定…...

dp-组合总和 Ⅳ

给你一个由 不同 整数组成的数组 nums &#xff0c;和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。题目数据保证答案符合 32 位整数范围。示例 1&#xff1a;输入&#xff1a;nums [1,2,3], target 4输出&#xff1a;7解释&#xff1a;所…...

46-堆

目录 1.概念 2.表示 3.三大操作 4.代码实现最大堆&#xff08;基于数组&#xff0c;编号从0开始&#xff09; 4.1.根据孩子节点k获取当前父节点的索引 4.2.根据父节点k求左孩子节点下标 4.3.根据父节点k求右孩子节点下标 4.4.判空 4.5.toString()方法 4.6.判断数组中…...

Mysql高可用高性能存储应用系列3 - mysqld_multi配置主从集群

概述 主从复制要解决的问题&#xff0c;1)写操作锁表&#xff0c;影响读操作&#xff0c;影响业务。2)数据库备份。3)随着数据增加&#xff0c;I/O操作增多&#xff0c;单机出现瓶颈。 主从复制就是从服务器的主节点&#xff0c;复制到多个从节点&#xff0c;默认采用异步的方…...

天干地支(Java)

题目描述 古代中国使用天干地支来记录当前的年份。 天干一共有十个&#xff0c;分别为&#xff1a;甲&#xff08;jiǎ&#xff09;、乙&#xff08;yǐ&#xff09;、丙&#xff08;bǐng&#xff09;、丁&#xff08;dīng&#xff09;、戊&#xff08;w&#xff09;、己&a…...

码住,虹科工业树莓派应用小tips

在应用虹科工业树莓派进行项目开发的过程中&#xff0c;我们会应用到各种功能&#xff0c;部分功能看似不起眼&#xff0c;但是在实际应用开发过程中却非常重要。接下来虹科分享几个工业树莓派在应用过程中经常会遇到的几个问题&#xff0c;并分享解决方案&#xff0c;帮助大家…...

美国新规-带绳窗帘亚马逊ANSI/WCMA A100.1-20测试标准详解

亚马逊要求所有有线窗帘都经过测试&#xff0c;符合下列特定法规或标准要求&#xff1a; 商品法规/标准要求带绳窗帘以下所有项&#xff1a; 显示检测结果符合 ANSI/WCMA A100.1-2018&#xff08;带绳窗帘商品的美国国家安全标准&#xff09;的检测报告。 美国消费品安全委员…...

【华为OD机试 2023最新 】 模拟商场优惠打折(C++)

题目描述 模拟商场优惠打折,有三种优惠券可以用,满减券、打折券和无门槛券。 满减券:满100减10,满200减20,满300减30,满400减40,以此类推不限制使用; 打折券:固定折扣92折,且打折之后向下取整,每次购物只能用1次; 无门槛券:一张券减5元,没有使用限制。 每个…...

前端直接生成GIF动态图实践

前言去年在博客中发了两篇关于GIF动态生成的博客&#xff0c;GIF图像动态生成-JAVA后台生成和基于FFmpeg的Java视频Mp4转GIF初探&#xff0c;在这两篇博客中都是采用JAVA语言在后台进行转换。使用JAVA的同学经过自己的改造和开发也可以应用在项目上。前段时间有朋友私下问&…...

告别单调按钮!用LVGL的imgbtn打造高颜值嵌入式UI(附9宫格切图技巧)

告别单调按钮&#xff01;用LVGL的imgbtn打造高颜值嵌入式UI&#xff08;附9宫格切图技巧&#xff09; 在嵌入式设备开发中&#xff0c;用户界面的美观度往往被忽视&#xff0c;开发者更关注功能实现而非视觉体验。然而&#xff0c;随着智能家居、可穿戴设备和工业控制面板的普…...

NotebookLM播客工作流优化实战:3个被92%用户忽略的关键提示词配置,提升生成质量400%

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;NotebookLM播客生成的核心原理与局限性 NotebookLM 是 Google 推出的基于用户自有文档进行 AI 助理交互的实验性工具&#xff0c;其播客生成功能并非独立模块&#xff0c;而是依托于底层的“多文档理解 指令驱…...

减少重复劳作,气泡图软件助力质检效率升级

在制造业做过质量或工程的人&#xff0c;一定都有过这种体验&#xff1a;一张复杂图纸几百个尺寸&#xff0c;一个个手动画气泡、编号、抄 Excel&#xff0c;眼睛越看越花&#xff0c;手指越敲越累。更折磨的是&#xff0c;图纸一改&#xff0c;气泡编号几乎要全部重来&#xf…...

LM265 手持式频谱分析仪:交通超宽频监测旗舰

LM265 手持式频谱分析仪是成都鼎讯信通科技打造的超宽频高性能便携设备&#xff0c;覆盖 9kHz~26.5GHz&#xff0c;射频指标对标台式仪器&#xff0c;兼顾便携与精度&#xff0c;为铁路、高速等交通领域提供全频段信号监测与干扰排查能力。设备集成频谱分析、场强测量、信道扫描…...

LabVIEW Statechart进阶:从状态机到并发层次状态管理的思维跃迁

1. 项目概述&#xff1a;从状态机到Statechart的思维跃迁在LabVIEW的自动化测试、设备控制或复杂流程编排项目中&#xff0c;状态机&#xff08;State Machine&#xff09;几乎是每个工程师都会接触到的经典设计模式。它结构清晰&#xff0c;通过一个While循环、一个Case结构和…...

第二章 小程序目录结构与核心文件详解

第二章 小程序目录结构与核心文件详解 &#x1f4da; 系列教程&#xff1a;微信小程序投票系统完整开发 &#x1f517; 上一章&#xff1a;第一章 - 微信小程序概述与开发准备 &#x1f517; 下一章&#xff1a;第三章 - WXML 所有表单组件与使用 2.1 完整目录结构 wx/page/ …...

图像超分新SOTA:DAT模型凭什么在效果和效率上双赢?深入对比SwinIR、EDSR等经典方案

DAT模型&#xff1a;图像超分辨率领域的效率与效果平衡术 当一张模糊的老照片在算法处理后突然变得清晰可辨时&#xff0c;这种"魔法"背后是图像超分辨率技术的精妙演化。在这个领域&#xff0c;Transformer架构近年来展现出惊人的潜力&#xff0c;却也面临着计算复…...

基于PyPortal与AirNow API的物联网空气质量监测显示系统实战

1. 项目概述与核心价值如果你对物联网开发感兴趣&#xff0c;或者一直想做一个能摆在桌面上、实时显示环境数据的“小玩意儿”&#xff0c;那么这个基于PyPortal和AirNow API的空气质量监测显示系统&#xff0c;绝对是一个能让你从零到一跑通整个物联网数据流、并且最终获得一个…...

AI智能体评估框架AgentEval:模块化设计与自动化评测实践

1. 项目概述&#xff1a;AgentEval&#xff0c;一个为AI智能体“打分”的裁判最近在折腾AI智能体&#xff08;Agent&#xff09;的开发&#xff0c;从简单的自动化脚本到复杂的多步推理系统&#xff0c;我前前后后也做了不少。但每次做完一个Agent&#xff0c;最头疼的问题就来…...

Mission Planner地面站保姆级教程:给Pixhawk刷固件、校准传感器到成功解锁起飞

Mission Planner地面站全流程实战&#xff1a;从固件刷写到安全起飞的终极指南 当第一次拿到Pixhawk飞控时&#xff0c;许多爱好者都会面临同样的困惑——如何将这块电路板变成可靠的飞行大脑&#xff1f;本文将用工程师视角拆解整个配置流程&#xff0c;分享那些官方手册没写清…...