gitlab 服务搭建小记

news/2024/10/18 16:41:41/文章来源:https://www.cnblogs.com/jasongrass/p/18326815

给团队搭建一个内网 gitlab 服务

准备工作 docker

准备好 docker 环境,如果 docker 不能用,可以参考

一个视频解决Docker安装, Pull, 找镜像等难题 Docker停服怎么办?Docker镜像无法拉取_哔哩哔哩_bilibili

docker 安装 gitlab

// 拉取镜像
docker image pull gitlab/gitlab-ce:latest// 启动容器
docker run --detach \--publish 50443:443 --publish 50080:80 --publish 50022:22 \--name gitlab \--restart always \--volume d:/srv/gitlab/config:/etc/gitlab \--volume d:/srv/gitlab/logs:/var/log/gitlab \--volume d:/srv/gitlab/data:/var/opt/gitlab \gitlab/gitlab-ce:latest

几点说明:

HTTPS / HTTP / SSH 端口映射都没有使用默认端口,因为我这里使用的这台服务器有很多其它服务在跑,为了避免冲突,无奈只能这样了。
在后面使用 ssh 拉取代码时,会需要一些额外的处理。
如果你的 gitlab 服务器是独占的,建议使用默认的端口映射。

--volume 的目录挂载,根据实际情况调整。

配置 gitlab

编辑 /etc/gitlab/gitlab.rb 文件,修改 external_url 为自定义域名

设置完域名之后,需要配置域名的 DNS 解析,如果是本地测试,可以直接修改 host 文件来处理。

拉取与仓库

SSH 方式

先配置本地 SSH key,并添加到 gitlab 上,这个就是普通的操作,可以参考:

git 多账号配置 - J.晒太阳的猫 - 博客园

需要注意的是,如果 SSH 端口不是默认的 22,则需要在 config 文件中指定

~/.ssh/config

# my gitlab
Host gitlab.my.com
Port 50022
HostName gitlab.my.com
User gitlab
IdentityFile ~/.ssh/mygitlab

配置好之后,就可以使用 SSH 的方式拉取或推送代码了

如果不配置 config 文件,需要使用这样的方式指定端口:

git clone git@gitlab.my.com:app/demo2.git
--->
git clone ssh://git@gitlab.my.com:50022/app/demo2.git

HTTP

在代码仓库中,看到的 http url 类似这样:http://gitlab.my.com/app/demo.git

如果修改了端口,则是无法直接使用的,需要修改成这样才能用:http://gitlab.my.com:50080/app/demo.git

HTTPS

暂时还没有处理 HTTPS 访问,先贴两篇参考文章

GitLab 配置 SSL/https | GitLab/Kubernetes 知识库
gitlab-配置实现https - 奔跑在study的路上 - 博客园

gitlab 登录

完成 gitlab 配置之后,需要重启 docker

docker restart gitlab

gitlab 的启动比较慢,需要多等一会。
使用 http://gitlab.my.com:50080 (自定义域名:端口) 打开 gitlab

管理员账号是 root,密码可以通过如下方式获取,获取之后记得保存好。

docker exec -it 容器名字或容器ID grep 'Password:' /etc/gitlab/initial_root_password

gitlab 内部配置

根据需要,可以设置允许上传的最大文件(仅限管理员权限的用户)

参考文章

CentOS7 下gitlab修改域名host | The One Like You
处理git clone命令的非标准SSH端口连接 | 我的站点
docker安装gitlab的初始账号密码 - lucky_tomato - 博客园

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

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

相关文章

不是,大哥,咱这小门小户的,别搞我CDN流量啊

CDN流量被刷?如何应对?分享是最有效的学习方式。 博客:https://blog.ktdaddy.com/最近遇上事儿了,老猫的小小博客网站【程序员老猫的博客】被人盗刷CDN流量了。开始的时候收到了欠费的短信也没有怎么去重视。虽然说费用没有多少,但是也是一个教训。博客从最初地搭建到现在…

VM CentOS7-2009 固定IP地址(系统工具-设置-网络)

1、配置VM 1)、【虚拟网络编辑器】2)、配置DHCP 修改IP地址范围和租用时间 3)、NAT设置注:Centos配置网关:192.168.177.2 2、配置centos的IPV43、主机192.168.177.128 ----》 ifconfig

Team center表格开发样例 --转自PLMCode

第一步:分别在自己的模块下的html、viewmodel、js文件夹下,加入下列三个文件simpleTableTestPageTableView.html、simpleTableTestPageTableViewModel.json、simpleTableTestPageService.js 第二步:simpleTableTestPageTableView.html <aw-splm-table gridid="examp…

财务知识——月末计提、结转、摊销

财务知识——月末计提、结转、摊销

Windows下校验压缩包MD5码和解压分段压缩包

1.使用git中工具md5sum校验MD52.分卷解压缩只需要将全部压缩包放一个文件夹内,解压第一个即可本文来自博客园,作者:变秃了也就变强了,转载请注明原文链接:https://www.cnblogs.com/lichangyi/p/18326817

计算机组成与体系结构-CPU组成

CPU由控制器和运算器两大部分组成,在控制器的控制之下,运算器存储器和输入输出设备等部件构成了一个整体。CPU的控制器 程序计数器(PC):存放下一条指令在内存的地址 指令寄存器(IR):存放即将要执行的指令 指令译码器(ID):翻译指令(操作码+操作地址) 地址寄存器(AR):保存当前C…

C 语言基础

C 语言 1. 入门 优点:功能强大 操作系统、嵌入式、动态库、服务器、应用程序、外挂、其他语言等执行效率高 C语言描述问题比汇编语言简练,而代码质量与汇编语言相当可移植性好 一个环境上用C语言编写的程序,不改动或稍加改动,就可移植到另一个完全不同的环境中运行缺点: 面…

3.5 JavaScript——常用库

jQuery 更加方便控制前端组件和属性 使用方式在<head>元素中添加:<script src="https://cdn.acwing.com/static/jquery/js/jquery-3.3.1.min.js"></script>按jQuery官网提示下载选择器 $(selector)类似于CSS选择器。例如: let $div = $(div);//通…

计算机组成与体系结构-指令系统

指令 指令(又称机器指令):是指示计算机执行某种操作的命令,是计算机运行的最小功能单位由二进制表示,一条指令通常包括操作码字段和地址码字段两部分。操作码指出是什么操作,操作数直接指出操作数本身或者其对应地址。 指令系统 CISC(复杂指令系统):指令数量多,支持的寻址方…

Partial类、枚举、结构体

1.Partial示例:命名空间一样,类名一样: 如上所示,tb_Employee是一张数据库表,如果数据库增加了新的字段,VS中就会更新类,如果在主程序中调用Report方法,并将Report方法写道Partial类中,Partial类中的数据就不会被覆盖; 2.winfrom窗口,winfrom设计器的代码就是一个P…

FFmpeg开发笔记(四十一)结合OBS与MediaMTX实现SRT直播推流

​《FFmpeg开发实战:从零基础到短视频上线》一书的“10.2 FFmpeg推流和拉流”提到直播行业存在RTSP和RTMP两种常见的流媒体协议。除此以外,还有于2017年推出的SRT协议,相比常见的RTMP协议,SRT协议具有更低的延迟,并且消除了卡帧、抖动等花屏现象。腾讯视频云已经引入了SR…