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 更…

Python入门教程之Python保留字符大全

Python中的保留字不能用作常数或变数,或任何其他标识符名称。所有 Python 的关键字只包含小写字母。 andexecnotassertfinallyorbreakforpassclassfromprintcontinueglobalraisedefifreturndelimporttryelifinwhileelseiswithexceptlambdayield转载于:https://blog.…

Linux操作系统基础解析之(五)——grep命令家族及正则表达式初识

grep号称文本处理三剑客之一,虽然说是三剑客中功能最少也是最简单的,但仍然不能小觑。 grep的全称为:Global search REgular expression and Print out the line,即:全面查找正则表达式并将匹配的行显示出来。 那么这…

Ubuntu16.04换源

Ubuntu16.04换源 转载于:https://www.cnblogs.com/xielisen/p/6404607.html

【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 都将立即加载&…

git clone出现 fatal: unable to access ‘https://github.com/...‘的解决办法

错误信息: fatal: unable to access https://github.com/JackieZheng/**.git/: OpenSSL SSL_read: Connection was reset, errno 10054 清除代理即可 git config --global --unset http.proxy git config --global --unset https.proxy

时代聚焦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是一个具有栈结构的对象&…

常用SEO优化之META标签

之前对meta标签的理解只有<meta charset"UTF-8">和移动端适口<meta name"viewport" content"widthdevice-width,initial-scale1.0, minimum-scale1.0, maximum-scale1.0, user-scalableno"/> 组成 meta标签共有两个属性&#xff0c…

Hibernate初探

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

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

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

weblogic清除缓存

清除/weblogic/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/cache/下的文件 &#xff1a; [rootlocalhost Middleware]# mv /weblogic/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/cache/* /opt/20171208/ 清除/w…

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

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

CSS3 动画插件 aos.js

aos.js是一款效果超赞的页面滚动元素动画jQuery动画库插件。该动画库可以在页面滚动时提供28种不同的元素动画效果&#xff0c;以及多种easing效果。在页面往回滚动时&#xff0c;元素会恢复到原来的状态。 安装 yarn add aosnext或者 npm install --save aosnextimport AOS …

nginx汇总(z)

Nginx相关文章Nginx基础1. nginx安装2. nginx 编译参数详解3. nginx安装配置清缓存模块安装4. nginxPHP 5.55. nginx配置虚拟主机6. nginx location配置7. nginx root&alias文件路径配置8. ngx_http_core_module模块提供的变量9. nginx日志配置10. apache和nginx支…

实例讲解——系统登录

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

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

解决办法&#xff1a;点击【文件】→【选项】→【高级】选项卡→勾选【为尾部空格添加下划线(U)】&#xff0c;解决&#xff01;