当前位置: 首页 > 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的同学经过自己的改造和开发也可以应用在项目上。前段时间有朋友私下问&…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我&#xff0c;后续持续新增专题博文&#xff0c;谢谢&#xff01;&#xff01;&#xff01;】 上一篇我们讲了&#xff1a; 这一篇我们开始讲&#xff1a; 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下&#xff1a; 一、场景操作步骤 操作步…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI

前一阵子在百度 AI 开发者大会上&#xff0c;看到基于小智 AI DIY 玩具的演示&#xff0c;感觉有点意思&#xff0c;想着自己也来试试。 如果只是想烧录现成的固件&#xff0c;乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外&#xff0c;还提供了基于网页版的 ESP LA…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

python爬虫——气象数据爬取

一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用&#xff1a; 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests&#xff1a;发送 …...

【SpringBoot自动化部署】

SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一&#xff0c;能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时&#xff0c;需要添加Git仓库地址和凭证&#xff0c;设置构建触发器&#xff08;如GitHub…...

算法打卡第18天

从中序与后序遍历序列构造二叉树 (力扣106题) 给定两个整数数组 inorder 和 postorder &#xff0c;其中 inorder 是二叉树的中序遍历&#xff0c; postorder 是同一棵树的后序遍历&#xff0c;请你构造并返回这颗 二叉树 。 示例 1: 输入&#xff1a;inorder [9,3,15,20,7…...

C#中用于控制自定义特性(Attribute)

我们来详细解释一下 [AttributeUsage(AttributeTargets.Class, AllowMultiple false, Inherited false)] 这个 C# 属性。 在 C# 中&#xff0c;Attribute&#xff08;特性&#xff09;是一种用于向程序元素&#xff08;如类、方法、属性等&#xff09;添加元数据的机制。Attr…...

SOC-ESP32S3部分:30-I2S音频-麦克风扬声器驱动

飞书文档https://x509p6c8to.feishu.cn/wiki/SKZzwIRH3i7lsckUOlzcuJsdnVf I2S简介 I2S&#xff08;Inter-Integrated Circuit Sound&#xff09;是一种用于传输数字音频数据的通信协议&#xff0c;广泛应用于音频设备中。 ESP32-S3 包含 2 个 I2S 外设&#xff0c;通过配置…...

NineData数据库DevOps功能全面支持百度智能云向量数据库 VectorDB,助力企业 AI 应用高效落地

NineData 的数据库 DevOps 解决方案已完成对百度智能云向量数据库 VectorDB 的全链路适配&#xff0c;成为国内首批提供 VectorDB 原生操作能力的服务商。此次合作聚焦 AI 开发核心场景&#xff0c;通过标准化 SQL 工作台与细粒度权限管控两大能力&#xff0c;助力企业安全高效…...