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

Linux 部署 GitLab & idea 连接_第1张图片

修改配置

进入容器内部

docker exec -it gitlab /bin/bash

Linux 部署 GitLab & idea 连接_第2张图片

# 修改 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

Linux 部署 GitLab & idea 连接_第3张图片

Esc,输入 :wq,保存

Linux 部署 GitLab & idea 连接_第4张图片

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.3
  port: 9980 # 端口改为9980
  https: false

Linux 部署 GitLab & idea 连接_第5张图片

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

# 重启 gitlab
gitlab-ctl restart

# 退出容器
exit

Linux 部署 GitLab & idea 连接_第6张图片

访问

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

http://192.168.101.3:9980

Linux 部署 GitLab & idea 连接_第7张图片

修改密码

# 进入容器
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

Linux 部署 GitLab & idea 连接_第8张图片

登录

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

Linux 部署 GitLab & idea 连接_第9张图片

相关操作

创建项目

右上角 new Project

Linux 部署 GitLab & idea 连接_第10张图片

创建一个空白项目

Linux 部署 GitLab & idea 连接_第11张图片

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

Linux 部署 GitLab & idea 连接_第12张图片

创建成功

Linux 部署 GitLab & idea 连接_第13张图片

idea 连接 gitlab

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

Linux 部署 GitLab & idea 连接_第14张图片

提交代码

Linux 部署 GitLab & idea 连接_第15张图片

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

Linux 部署 GitLab & idea 连接_第16张图片

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

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

Linux 部署 GitLab & idea 连接_第17张图片

url 注意加上端口

Linux 部署 GitLab & idea 连接_第18张图片

输入用户名和密码,登录

Linux 部署 GitLab & idea 连接_第19张图片

连接成功

Linux 部署 GitLab & idea 连接_第20张图片

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

Linux 部署 GitLab & idea 连接_第21张图片

点击 push

Linux 部署 GitLab & idea 连接_第22张图片

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

Linux 部署 GitLab & idea 连接_第23张图片

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

Linux 部署 GitLab & idea 连接_第24张图片

最后

夜莺监控

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

夜莺监控是一款国产、开源云原生监控分析系统,采用 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

成功之后出现

Linux 部署 GitLab & idea 连接_第25张图片

访问

访问不通记得打开防火墙

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

账号:root ,密码:root.2020

Linux 打开端口相关命令

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

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

重新加载防火墙

firewall-cmd --reload

进入登录页面

Linux 部署 GitLab & idea 连接_第26张图片

输入账号密码,进入后台

Linux 部署 GitLab & idea 连接_第27张图片

其他

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

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

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

gitee 创建仓库 & git 连接

你可能感兴趣的:(Linux,linux,gitlab,intellij-idea)