GitLab的安装、配置、使用

前言

上周去参与“中国数字经济创新发展大会”了,然后又忙新项目的事情,博客又有一段时间没有更新,今天周一事情比较少,立刻开始写文,最近有挺多值得记录的东西~

进入正文,最近我们搭了个Gitlab,并且把正在开发的项目代码都迁移到自建的Gitlab上,整个过程还是比较流畅的(就是有点费内存

PS:立即下单给这台服务器买了四条16G内存组四通道~

在此之前,我们团队一直使用Gitee企业版作为代码管理,不过随着网络安全和信息安全管控越来越严格,加之五月份新政策加紧了对国内开源项目的管控,我们还是决定将代码放到一个更加可控的平台上比较好。

在对比了Gitea和Gitlab之后,决定使用Gitlab搭建我们团队自己的代码管理系统。

开始

Gitlab有开源免费的社区版,功能够用,如果后续需要用更多功能还可以换企业版

所以为了方便后续升级,我们选择使用企业版镜像,未激活的情况下与社区版无异,需要升级的话只要购买它的订阅即可平滑升级到企业版。

关于部署方式,云原生时代当然使用Docker~

老规矩,用我最喜欢的compose编排镜像

找一个空间足够大的盘,创建gitlab目录,然后创建docker-compose.yml文件

配置内容如下

version: "3"
services:gitlab:image: gitlab/gitlab-ee:latestrestart: alwayshostname: gitlabports:- 1100:80- 1101:443- 1102:22volumes:- /etc/localtime:/etc/localtime- ./config:/etc/gitlab- ./logs:/var/log/gitlab- ./data:/var/opt/gitlab

具体端口映射规则可以自己定义,volume映射也可以改,但记得第一个/etc/localtime是固定的,把本机的时间传给gitlab镜像。

保存完在目录下执行docker-compose up就能跑起来了

首次登录

Gitlab默认管理员用户是root

密码在/etc/gitlab/initial_root_password文件里

可以进入容器内部查看

优化内存使用

Gitlab吃内存真是名不虚传啊

我们使用的这个服务器是32G内存,在默认配置下一直吃满内存,甚至在使用过程中经常出现各种5xx错误,然后一看剩余内存就几百M……

果然是内存老虎啊~

然后就尝试各种配置,经过几天的摸索,终于把内存占用控制在16G左右

修改配置文件,在Gitlab容器中,这个文件的位置是/etc/gitlab/gitlab.rb

前面我们在docker compose中做了映射,也可以在本机目录下修改./config/gitlab.rb文件

puma['worker_timeout'] = 30
gitlab_rails['time_zone'] = 'Asia/Shanghai'
puma['worker_processes'] = 2
postgresql['shared_buffers'] = "256MB"
sidekiq['max_concurrency'] = 8
postgresql['max_worker_processes'] = 4
puma['per_worker_max_memory_mb'] = 600
prometheus_monitoring['enable'] = false
sidekiq['min_concurrency'] = 8

修改完要进入容器里执行以下命令之一(重新载入配置或重启gitlab),才能使修改生效

gitlab-ctl reconfigure
gitlab-ctl restart

clone地址

刚运行起来,clone地址是这样的,这不行啊,复制下来没法直接clone到本地,需要配置一下

691ee973b3e8937d7dd7d66c43538803.png

HTTP的域名配置比较简单,进入menu->admin->settings->general->Visibility and access controls->Custom Git clone URL for HTTP(S)

填入gitlab的网址和端口号并点击保存即可生效

不过HTTP需要登录太麻烦了,我们一般用SSH

SSH地址好像没法在前台配置,需要修改配置文件

依然是前面说的那个配置文件,修改这俩行,分别配置IP地址和端口

gitlab_rails['gitlab_ssh_host'] = 'ssh.域名或IP地址'
gitlab_rails['gitlab_shell_ssh_port'] = 1102

重新载入配置就行了~

external_url配置

这个地址的配置涉及到好几个地方,比如发送的邮件里的跳转链接,代码片段编辑的跳转链接等~

还是在配置文件里修改

找到这一行,# external_url 'GENERATED_EXTERNAL_URL'

去掉前面的#注释,把URL改成Gitlab的内网地址http://ip:1100(之前把1100映射到了80端口)

需要注意一点就是Gitlab会根据这里URL的端口来决定提供web服务的端口

所以设置了这个URL的话,要同步修改docker-compose.yml里的端口映射配置

比如这里设置了1100,那么同步docker-compose.yml修改为

ports:- 1100:1100

搞定~

参考资料

  • GitLab部署笔记(Docker):https://www.hash070.top/archives/gitlab-withdocker.html

  • GitLab最新版限制内存大小puma命令:https://blog.csdn.net/m0_46542378/article/details/125344764

  • GitLab修改端口和修改发邮件跳转地址的前缀:https://www.52jingya.com/aid4087

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

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

相关文章

【BIM入门实战】Navisworks2018简体中文安装教程(附安装包下载)

Navisworks是Autodesk公司开发的一款三维模型可视化软件,它以轻量化的运行方式进行BIM成果的后期处理及整合,是一款非常实用的软件。基于Navisworks,项目的参建方可以在施工前进行模拟施工,以达到减少返工、缩短工期、提供经济效益的目的。 Navisworks同时支持4D和5D模拟,…

微软 Windows11 Build 22000.71 更新(KB5004252)发布

微软推出了一个全新的娱乐小工具。这一部件允许用户查看 Microsoft Store 中可用的新电影和精选电影。选择一部电影会引导用户到 Microsoft Store 查看有关该影片的更多信息。 7 月 16 日消息 今日凌晨,微软宣布向预览体验计划用户发布 Windows 11 Build22000.71 更…

【BIM入门实战】Revit模型导入到第三方软件方法汇总

本文以案例的方式,汇总展示了Revit模型导入到ArcGIS Pro、3ds max、Navisworks、Lumion、InfraWorks等的方法。 文章目录 1. Revit导入ArcGIS Pro2. Revit导入3ds Max3. Revit导入Navisworks4. Revit导入Lumion5. Revit导入InfraWorks1. Revit导入ArcGIS Pro ArcGIS Pro2.8可…

Blazor University (37)JavaScript 互操作 —— JavaScript 启动过程

原文链接:https://blazor-university.com/javascript-interop/javascript-boot-process/JavaScript 启动过程在 Blazor 启动过程中,浏览器将在 Blazor 初始化之前创建 HTML 文档,这意味着从引导 HTML 引用的任何 JavaScript 都将立即加载&…

时代聚焦AI安全——可解释性

今年的NIPS多集中在人工智能安全上,此外精彩的部分还有凯特克劳福德关于人工智能公平性问题上被忽视的主题演讲、ML安全研讨会、以及关于“我们是否需要可解释性?”可解释ML讨论会辩论。 值校准文件 逆向奖励设计是为了解决RL代理根据人类设计的代理奖励…

【BIM入门实战】渲染器Vray for 3d max 2018图文安装教程

VRay是由chaosgroup和asgvis公司出品的一款高质量渲染软件。VRay是业界最受欢迎的渲染引擎。基于V-Ray 内核开发的有VRay for 3ds max、Maya、Sketchup、Rhino等诸多版本,为不同领域的优秀3D建模软件提供了高质量的图片和动画渲染。方便使用者渲染各种图片。 Vray for 3d max …

Android--Activity四种启动模式

launchMode在多个Activity跳转的过程中扮演着重要的角色,它可以决定是否生成新的Activity实例,是否重用已存在的Activity实例,是否和其他Activity实例公用一个task里。这里简单介绍一下task的概念,task是一个具有栈结构的对象&…

Hibernate初探

Hibernate对数据库结构提供了较为完整的封装,Hibernate的O/R Mapping实现了POJO 和数据库表之间的映射,以及SQL 的自动生成和执行。程序员往往只需定义好了POJO 到数据库表的映射关系,即可通过Hibernate 提供的方法完成持久层操作。程序员甚至…

【BIM入门实战】InfraWorks2018图文安装教程

Autodesk InfraWorks是易于使用的草图绘制工具,适用于土地规划师和基础设施设计师。AutodeskInfraWorks可以生成可视化的高级模型,而无需借助辅助,可以独立进行建模的BIM可视化软件。 InfraWorks2018软件预览: 双击安装包进行安装。 自解压中,等待即可。 点击【安装】。 点…

有点酷,使用 .NET MAUI 探索太空

设计 我准备用 .NET Maui 实现一个非常有意思的 "前往太空" 的程序。第一步,需要图片素材,我使用了 Aan Ragil 的一组非常棒的 Dribbble 素材图片。当然,你也可以在最下面的链接进行下载。实现 这个应用程序的完整源代码可以在 G…

实例讲解——系统登录

一,程序分析 首先使用参数的方式输入用户名和密码,所以,首先要判断输入参数的个数是否合法,如果不合法,则必须提示程序执行不对,并退出。 如果正确输入,则可以进行密码和用户名的验证&#xff0…

【Microsoft Office】Word 2019空格下划线不显示的解决办法

解决办法:点击【文件】→【选项】→【高级】选项卡→勾选【为尾部空格添加下划线(U)】,解决!

1.安装

转自:http://www.ruanyifeng.com/blog/2015/12/a-mocha-tutorial-of-examples.html Mocha(发音"摩卡")诞生于2011年,是现在最流行的JavaScript测试框架之一,在浏览器和Node环境都可以使用。 所谓"测试框…

SkiaSharp 之 WPF 自绘弹跳球(案例版)

熟悉下SkiaSharp的基础操作,这次搞个弹跳球效果,实现后,发现效果还真不错。大概效果如下:原理分析先是实现了网格效果,这个比较简单,直接横线,竖线,就OK了。另外一个就是随机一个圆形&#xff0…

Windows11 发布更新 Insider Preview Build 22000.100

微软今天凌晨向开发频道中的所有用户发布Windows 11 Insider Preview Build 22000.100! 变化和改进 我们已经开始在 Dev Channel 中将 Chat 从 Microsoft Teams 推广到 Insiders。不是每个人都会马上看到,任务栏右下方的隐藏图标弹出窗口已更新&#x…

常见RGB格式

计算机世界中,最终对于颜色和画面的显示,更多的采用的是RGB模式,这里记录一下常见的RGB格式。任何计算机设备以及智能终端等,呈现在我们眼前的色彩实际上便是红绿蓝三基色不同的组合,RGB实际上就是三基色的组合&#x…

《ASP.NET Core 6框架揭秘》实例演示[04]:自定义依赖注入框架

ASP.NET Core框架建立在一个依赖注入框架之上,已注入的方式消费服务已经成为了ASP.NET Core基本的编程模式。为了使读者能够更好地理解原生的注入框架框架,我按照类似的设计创建了一个简易版本的依赖注入框架,并它命名为“Cat”。本篇提供的四…

【QGIS入门实战精品教程】4.8:QGIS如何下载SRTM数字高程模型DEM?

本文讲解QGIS中下载SRTM数字高程模型DEM,以黑龙江省塔河县为例。 图幅效果: 最终效果: 文章目录 1. 下载安装STRM Download插件2. 加载矢量数据,读取范围3. 下载STRM4. DEM拼接5. DEM裁剪1. 下载安装STRM Download插件 点击【插件】→【管理并安装插件】。 在搜索框中输入…

Win11 恢复设置Win10任务栏、快速启动栏及右键菜单(Win11 22000.100版本测试通过)

恢复方法 按下边路径添加 UndockingDisabled项,DWORD (32-bit)值为1: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell\Update\Packages] "UndockingDisabled"dword:00000001显示效果 已知问题 开始按钮点击无反应&a…

vue vue-router vuex element-ui axios 写一个代理平台的学习笔记(十一)构思商品页面...

在写商品页面product.vue之前,我应该思考一下,商品页面要实现那些功能,该不如布局?要实现的功能 1、所有商品列表的展示2、分类商品的列表展示 3、搜索商品或得列表展示4、单一商品的详细页面5、商品列表分页功能6、还没想到的...…