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

Linux 部署 GitLab idea 连接

概述

GitLab 是一个开源的代码管理平台,使用 Git 作为版本控制工具,提供了 Web 界面和多种功能,如 wiki、issue 跟踪、CI/CD 等。

GitLab 可以自托管或使用 SaaS 服务,支持多种操作系统和执行器。

GitLab 可以帮助软件开发团队提高协作效率和质量。

Docker 部署 GitLab

Docker 安装:在 CentOs7 中安装宝塔面板和 Docker(包括MySQL,Redis)

拉取镜像

docker pull gitlab/gitlab-ce:latest

启动容器

在容器中运行 GitLab Community Edition,将 GitLab CE 映像运行在容器中,并将其绑定到主机的 9980 和 9922 端口。

将 GitLab 的配置文件、日志和数据文件存储在主机的 /home/gitlab/etc、/home/gitlab/log 和 /home/gitlab/opt 目录中。

容器将在启动时自动重启,并以特权模式运行。

docker run  -itd \
-p 9980:80 -p 9922:22 \-v /home/gitlab/etc:/etc/gitlab  \-v /home/gitlab/log:/var/log/gitlab \-v /home/gitlab/opt:/var/opt/gitlab \--restart always \--privileged=true \--name gitlab \gitlab/gitlab-ce

image-20231012212946349

修改配置

进入容器内部

docker exec -it gitlab /bin/bash

image-20231012213129869

# 修改 gitlab.rb,键盘按 i 进入编辑模式
vi /etc/gitlab/gitlab.rb# 添加配置
# gitlab 访问地址,可以写域名。不写端口默认为 80 端口
external_url 'http://192.168.101.3' 
# ssh主机 ip
gitlab_rails['gitlab_ssh_host'] = '192.168.101.3'
# ssh 连接端口
gitlab_rails['gitlab_shell_ssh_port'] = 9922

image-20231012214419573

Esc,输入 :wq,保存

image-20231012214513057

Docker 中运行,gitlab 的地址应该为 http:192.168.101.3

# 修改 http 和 ssh 配置
vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml# 在 yml 修改
gitlab:host: 192.168.101.3port: 9980 # 端口改为9980https: false

image-20231012214557276

修改完成后重启 gitlab,之后退出容器

# 重启 gitlab
gitlab-ctl restart# 退出容器
exit

image-20231012214633201

访问

浏览器访问(http://<你的 ip 地址>:9980)

http://192.168.101.3:9980

image-20231012214857282

修改密码

# 进入容器
docker exec -it gitlab /bin/bash# 进入控制台
gitlab-rails console -e production# 查询 id 为 1 的用户,id 为 1 的用户是超级管理员
user = User.where(id:1).first# 修改密码为 gitlab
user.password='gitlab@2023'# 保存
user.save!# 退出
exit

image-20231012220153361

登录

登录 gitlab,用户名:root ,密码:gitlab@2023 (上面修改的值)

image-20231012220237373

相关操作

创建项目

右上角 new Project

image-20231012220403340

创建一个空白项目

image-20231012220455130

填写项目名,相关描述,以及可见范围,点击 Create project 创建项目

image-20231012220653743

创建成功

image-20231012220737078

idea 连接 gitlab

idea 出 2023 版了,下面使用的是 idea 新 UI ,现在用 idea 连接 gitlab 完成代码的 push

image-20231012222735411

提交代码

image-20231012222838477

连接 gitlab 远程仓库,点击项目右键,选择 Git,选择管理仓库

image-20231012223933987

输入 url,点击 ok,url 在 gitlab 中获取

这里少了端口 9980,实际是http://192.168.101.3:9980/root/gitlab-test-demo.git

image-20231012224241593

url 注意加上端口

image-20231012224342153

输入用户名和密码,登录

image-20231012224430249

连接成功

image-20231012224452655

点击本地 master 点击 push,也可以项目右键,找到 Git,选择 push

image-20231012224552130

点击 push

image-20231012224612143

在 gitlab 可以查看项目内容,gitlab 默认是 main 的分支,刚才 push 的时候是 push 到 gitlab 的 master,所以先修改分支到 master,就可以看到项目代码

image-20231012224747855

同时,在 idea 中也可以查看远程仓库的提交情况

image-20231012224823154

最后

夜莺监控

推荐给大家一个云原生监控分析系统——夜莺监控

夜莺监控是一款国产、开源云原生监控分析系统,采用 All-In-One 的设计,集数据采集、可视化、监控告警、数据分析于一体。它由滴滴开发和开源,并于2022年5月11日,捐赠予中国计算机学会开源发展委员会(CCF ODC),为CCF ODC成立后接受捐赠的第一个开源项目

夜莺监控的核心开发团队,也是 Open-Falcon 项目原核心研发人员。它支持多种数据采集方式,包括 Agent、SNMP、JMX 等。同时,它还支持多种告警方式,包括邮件、短信、微信等。夜莺监控提供了丰富的可视化图表和仪表盘,可以帮助用户更好地了解监控数据

安装

使用 docker-compose 部署,推荐 githubfast 进行克隆

# 使用 github 克隆
git clone https://github.com/ccfos/nightingale.git
cd nightingale/docker# 考虑到 github 访问可能不通,这里推荐使用 githubfast
git clone https://githubfast.com/ccfos/nightingale.git# 进入项目中
cd nightingale/docker# 启动 Docker Compose 配置文件中定义的所有服务
# up 用于创建并启动容器
# -d 有台运行
docker-compose up -d

成功之后出现

image-20231012231351396

访问

访问不通记得打开防火墙

访问地址:http://192.168.101.3:17000

账号:root ,密码:root.2020

Linux 打开端口相关命令

开启指定端口(要重新加载防火墙)

firewall-cmd --zone=public --add-port=17000/tcp --permanent

重新加载防火墙

firewall-cmd --reload

进入登录页面

image-20231012232410129

输入账号密码,进入后台

image-20231012232439021

其他

文中服务器使用的是虚拟机 CentOS7.9,搭建虚拟机的过程可以参考专栏

Linux 专栏(包括虚拟机安装,CentOS安装,安装 Docker,部署项目)

关于 gitee 仓库操作可查看文章

gitee 创建仓库 & git 连接

相关文章:

Linux 部署 GitLab idea 连接

概述 GitLab 是一个开源的代码管理平台&#xff0c;使用 Git 作为版本控制工具&#xff0c;提供了 Web 界面和多种功能&#xff0c;如 wiki、issue 跟踪、CI/CD 等。 GitLab 可以自托管或使用 SaaS 服务&#xff0c;支持多种操作系统和执行器。 GitLab 可以帮助软件开发团队…...

Java延迟队列——DelayQueue

Java延迟队列——DelayQueue DelayQueue的定义 public class DelayQueue<E extends Delayed> extends AbstractQueue<E> implements BlockingQueue<E>DelayQueue是一个无界的BlockingQueue&#xff0c;是线程安全的&#xff08;无界指的是队列的元素数量不存…...

Vulnhub系列靶机---Raven2

文章目录 Raven2 渗透测试信息收集提权UDF脚本MySQL提权SUID提权 Raven2 渗透测试 信息收集 查看存活主机 arp-scan -l 找到目标主机。 扫描目标主机上的端口、状态、服务类型、版本信息 nmap -A 192.168.160.47目标开放了 22、80、111 端口 访问一下80端口&#xff0c;并…...

设计模式-生成器模式

生成器模式&#xff08;Builder Pattern&#xff09;是一种创建型设计模式&#xff0c;用于构建复杂的对象。这种模式将构造代码和表示代码分离开来&#xff0c;使得同样的构造过程可以创建不同的表示。 以下是一个简单的Java实现&#xff1a; // 产品 class Product …...

Nginx正向代理配置(http)

前言 在工作中我们经常使用nginx进行反向代理,今天介绍下怎么进行正向代理,支持http请求,暂不支持https 首先先介绍下正向代理和反向代理。 正向代理 在客户端&#xff08;浏览器&#xff09;配置代理服务器&#xff0c;通过代理服务器进行互联网访问。 反向代理 客户端只…...

ARMv5架构对齐访问异常问题

strh非对齐访问 在ARMv5架构中&#xff0c;对于strh指令&#xff08;Store Halfword&#xff09;&#xff0c;通常是要求对地址进行对齐访问的。ARMv5架构对于半字&#xff08;Halfword&#xff09;的存储操作有对齐要求&#xff0c;即地址必须是2的倍数。 如果尝试使用strh指…...

Go中varint压缩编码原理分析

文章目录 编码介绍无符号整数较小的值较大的值Go中的实现编码PutUvarint解码Uvarint 有符号整数较小的值(指绝对值)较大的负数(只绝对值)Go中的实现编码PutVarint解码Varint 总结 编码介绍 varint是一种将整数编码为变长字节的压缩编码算法&#xff0c;本篇文章就是分析该编码…...

在IDEA中如何用可视化界面操作数据库? 在idea中如何操作数据库? 在idea中如何像Navicat一样操作数据库?

1、找到database&#xff0c;创建连接 我用了中文包&#xff0c;英文状态下和我的操作完全一样 英文下第二列数据库名称为 database 2、配置相关属性&#xff0c;如IP地址&#xff0c;密码等 3、选择对应的库名&#xff0c;此处也叫架构 4、然后就可以进行愉快的操作了...

数据库安全-RedisHadoopMysql未授权访问RCE

目录 数据库安全-&Redis&Hadoop&Mysql&未授权访问&RCE定义漏洞复现Mysql-CVE-2012-2122 漏洞Hadoop-配置不当未授权三重奏&RCE 漏洞 Redis-未授权访问-Webshell&任务&密匙&RCE 等漏洞定义&#xff1a;漏洞成因漏洞危害漏洞复现Redis-未授权…...

辅助驾驶功能开发-功能规范篇(27)-3-导航式巡航辅助NCA华为

书接上回 2.2.2.3.7控制模块 控制模块由横向控制和纵向控制组成。根据横、纵向规划给出的行驶轨迹和给定速度,进行车辆的纵横向控制,输出方向盘转角、加速度或制动踏板开度和档位信息,必要条件下输出车灯信号等。 2.2.2.4 行为仲裁模块 纵向状态: 当纵向位于Off/Standby…...

探索UI设计|栅格系统的深入分析和应用

界面排版太乱了。你知道网格系统的用途吗&#xff1f;网格系统困扰着许多初级网页设计师&#xff0c;就像一个谜。如果您对网格在设计中的应用有任何疑问&#xff0c;本文是为您量身定制的&#xff0c;并深入分析UI设计中网格系统的基本要素和优点。 什么是网格系统 网格系统…...

AI 律助 Alpha GPT 线上实操发布会,重磅发布!

数字化时代,随着人工智能的迅猛发展,各行各业都在积极探索通过智能化工具实现工作效率翻升的可能性。“ ChatGPT 类产品”是未来办公应用软件发展的重要趋势之一,但如何将 ChatGPT 真正应用于法律人的工作,赋能效率提升?法律行业同样面临着新的挑战和机遇。 破局的关键是实现技…...

【漏洞复现】安全云平台存在任意文件下载getshell

漏洞描述 深圳市强鸿电子有限公司鸿运主动安全云平台存在任意文件下载漏洞,攻击者可通过此漏洞下载敏感文件信息。 免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得利用网络从事危害国家安全、荣誉和利益,未经授权…...

【JUC】原子操作类及LongAddr源码分析

文章目录 1. 十八罗汉2. 原子类再分类2.1 基本类型原子类2.2 数组类型原子类2.3 引用类型原子类2.4 对象的属性修改原子类2.5 原子操作增强类 3. 代码演示及性能比较&#xff1a;4. LongAddr原理5. LongAddr源码分析5.1 add()5.2 longAccumulate()5.3 sum() 6. 小总结6.1 Atomi…...

203、RabbitMQ 之 使用 direct 类型的 Exchange 实现 消息路由 (RoutingKey)

目录 ★ 使用direct实现消息路由代码演示这个情况二ConstantUtil 常量工具类ConnectionUtil 连接RabbitMQ的工具类Publisher 消息生产者测试消息生产者 Consumer01 消息消费者01测试消费者结果&#xff1a; Consumer02 消息消费者02测试消费者结果&#xff1a; 完整代码&#x…...

微服务+Java+Spring Cloud +UniApp +MySql智慧工地综合管理云平台源码,SaaS模式

智慧工地围绕工程现场人、机、料、法、环及施工过程中质量、安全、进度、成本等各项数据满足工地多角色、多视角的有效监管,实现工程建设管理的降本增效. 智慧工地综合管理云平台源码&#xff0c;PC监管端、项目端&#xff1b;APP监管端、项目端、数据可视化大屏端源码&#xf…...

QMidi Pro for Mac:打造您的专属卡拉OK体验

你是否曾经厌倦于在KTV里与朋友们争夺麦克风&#xff1f;是否想要在家中享受自定义的卡拉OK体验&#xff1f;现在&#xff0c;有了QMidi Pro for Mac&#xff0c;一切变得简单而愉快&#xff01; QMidi Pro是一款功能强大的卡拉OK播放器&#xff0c;专为Mac用户设计。它充分利…...

bindtap和catchtap的区别?

bindtap和catchtap都是小程序中用于绑定点击事件的方法。 1.bindtap的作用是绑定一个触摸事件并指定对应的处理函数。当用户点击或触摸相关元素时&#xff0c;会触发该事件&#xff0c;并执行相应的处理逻辑。 示例&#xff1a; <button bindtap"handleTap">…...

IDEA—java: 常量字符串过长问题解决

问题描述&#xff1a; Error: java: 常量字符串过长 问题分析&#xff1a; 字符串长度过长&#xff0c;导致 idea 默认使用的 javac 编译器编译不了。 解决办法&#xff1a; Javac 编译器改为 Eclipse 编译器。 File -> Settings -> Build,Execution,Deployment -&…...

云原生SIEM解决方案

云原生&#xff08;Cloud Native&#xff09;是一种基于云计算的软件开发和部署方法论&#xff0c;它强调将应用程序和服务设计为云环境下的原生应用&#xff0c;以实现高可用性、可扩展性和灵活性。 云原生的优势有哪些 高可用性&#xff1a;云原生可以实现应用程序的高可用…...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元&#xff08;GRU&#xff09;长短期记忆神经网络&#xff08;LSTM&#xff09…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化

缓存架构 代码结构 代码详情 功能点&#xff1a; 多级缓存&#xff0c;先查本地缓存&#xff0c;再查Redis&#xff0c;最后才查数据库热点数据重建逻辑使用分布式锁&#xff0c;二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...

Linux部署私有文件管理系统MinIO

最近需要用到一个文件管理服务&#xff0c;但是又不想花钱&#xff0c;所以就想着自己搭建一个&#xff0c;刚好我们用的一个开源框架已经集成了MinIO&#xff0c;所以就选了这个 我这边对文件服务性能要求不是太高&#xff0c;单机版就可以 安装非常简单&#xff0c;几个命令就…...

数据结构:递归的种类(Types of Recursion)

目录 尾递归&#xff08;Tail Recursion&#xff09; 什么是 Loop&#xff08;循环&#xff09;&#xff1f; 复杂度分析 头递归&#xff08;Head Recursion&#xff09; 树形递归&#xff08;Tree Recursion&#xff09; 线性递归&#xff08;Linear Recursion&#xff09;…...

java高级——高阶函数、如何定义一个函数式接口类似stream流的filter

java高级——高阶函数、stream流 前情提要文章介绍一、函数伊始1.1 合格的函数1.2 有形的函数2. 函数对象2.1 函数对象——行为参数化2.2 函数对象——延迟执行 二、 函数编程语法1. 函数对象表现形式1.1 Lambda表达式1.2 方法引用&#xff08;Math::max&#xff09; 2 函数接口…...

2025年- H71-Lc179--39.组合总和(回溯,组合)--Java版

1.题目描述 2.思路 当前的元素可以重复使用。 &#xff08;1&#xff09;确定回溯算法函数的参数和返回值&#xff08;一般是void类型&#xff09; &#xff08;2&#xff09;因为是用递归实现的&#xff0c;所以我们要确定终止条件 &#xff08;3&#xff09;单层搜索逻辑 二…...

2025.6.9总结(利与弊)

凡事都有两面性。在大厂上班也不例外。今天找开发定位问题&#xff0c;从一个接口人不断溯源到另一个 接口人。有时候&#xff0c;不知道是谁的责任填。将工作内容分的很细&#xff0c;每个人负责其中的一小块。我清楚的意识到&#xff0c;自己就是个可以随时替换的螺丝钉&…...

手动给中文分词和 直接用神经网络RNN做有什么区别

手动分词和基于神经网络&#xff08;如 RNN&#xff09;的自动分词在原理、实现方式和效果上有显著差异&#xff0c;以下是核心对比&#xff1a; 1. 实现原理对比 对比维度手动分词&#xff08;规则 / 词典驱动&#xff09;神经网络 RNN 分词&#xff08;数据驱动&#xff09…...

【Zephyr 系列 16】构建 BLE + LoRa 协同通信系统:网关转发与混合调度实战

🧠关键词:Zephyr、BLE、LoRa、混合通信、事件驱动、网关中继、低功耗调度 📌面向读者:希望将 BLE 和 LoRa 结合应用于资产追踪、环境监测、远程数据采集等场景的开发者 📊篇幅预计:5300+ 字 🧭 背景与需求 在许多 IoT 项目中,单一通信方式往往难以兼顾近场数据采集…...