前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >gitlab 服务搭建小记

gitlab 服务搭建小记

作者头像
jgrass
发布2024-12-25 18:12:11
发布2024-12-25 18:12:11
8100
代码可运行
举报
文章被收录于专栏:蔻丁杂记蔻丁杂记
运行总次数:0
代码可运行

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

🍕 准备工作 docker

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

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

🍕 docker 安装 gitlab

Terminal window

代码语言:javascript
代码运行次数:0
运行
复制
# 拉取镜像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

参照官网的版本 的启动命令,在 windows server 2022 上使用这个才部署成功,不知道原因。

Install GitLab in a Docker container | GitLab

Terminal window

代码语言:javascript
代码运行次数:0
运行
复制
# 参照官网的版本的启动命令,注意替换其中的 URL、端口映射、具体的挂载路径等docker run --detach \  --hostname gitlab.xxx.com \  --env GITLAB_OMNIBUS_CONFIG="external_url 'http://gitlab.xxx.com'" \  --publish 50443:443 --publish 50080:80 --publish 50022:22 \  --name gitlab \  --restart always \  --volume E:/docker/volume/gitlab/config:/etc/gitlab:Z \  --volume E:/docker/volume/gitlab/logs:/var/log/gitlab:Z \  --volume E:/docker/volume/gitlab/data:/var/opt/gitlab:Z \  --shm-size 2g \  gitlab/gitlab-ce:latest

几点说明:

HTTPS / HTTP / SSH 端口映射都没有使用默认端口,因为我这里使用的这台服务器有很多其它服务在跑,为了避免冲突,无奈只能这样了。

在后面使用 ssh 拉取代码时,会需要一些额外的处理。

如果你的 gitlab 服务器是独占的,建议使用默认的端口映射。

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

如果启动 gitlab 容器出现问题,可以通过 docker logs -f gitlab 来查看日志

🍕 配置 gitlab

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

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

🍕 拉取仓库

SSH 方式

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

git 多账号配置

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

~/.ssh/config

代码语言:javascript
代码运行次数:0
运行
复制
# my gitlabHost gitlab.my.comPort 50022HostName gitlab.my.comUser gitlabIdentityFile ~/.ssh/mygitlab

SSH 连接测试: ssh -p 50022 -T git@gitlab.my.com

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

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

Terminal window

代码语言:javascript
代码运行次数:0
运行
复制
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,密码可以通过如下方式获取,获取之后记得保存好。

Terminal window

代码语言:javascript
代码运行次数:0
运行
复制
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 - 博客园

添加或修改ssh服务的端口 - 小得盈满 - 博客园

原文链接: https://cloud.tencent.com/developer/article/2481564

本作品采用 「署名 4.0 国际」 许可协议进行许可,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024年7月27日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🍕 准备工作 docker
  • 🍕 docker 安装 gitlab
  • 🍕 配置 gitlab
  • 🍕 拉取仓库
    • SSH 方式
    • HTTP
    • HTTPS
  • 🍕 gitlab 登录
  • 🍕 gitlab 内部配置
  • 🍕 参考文章
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档