11、GitLab基本操作
一、GitLab简介:GitLab 是一款开源的「代码托管 + DevOps 平台」,核心功能覆盖「代码管理、团队协作、自动化 CI/CD、项目管理」全流程,简单说就是:既可以当代码仓库(类似 GitHub、Gitee),又能一站式实现从「代码提交」到「自动构建、测试、部署」的全自动化流程。
极狐GitLab中文文档
二、GitLab组织架构与关系模型:
GitLab 中「用户(User)」「群组(Group)」「项目(Project)」是核心实体,三者通过层级化权限体系实现协作管理,关系可总结为以下结构化模型:
1、基本关系框架:
(1)、用户(User):
GitLab 的最小操作单元(人或机器人账号),拥有独立的账号密码 / Token,可被添加到「群组」或「项目」中并赋予权限。
(2)、群组(Group):
用于管理多个项目和用户的集合,相当于「部门」「团队」或「组织」,可以嵌套子群组(如 研发部 → 前端组),方便层级化管理。
(3)、项目(Project):
代码仓库的载体,必须归属于某个「用户」或「群组」(默认创建者为所有者),权限可分配给「用户」或「群组」。
2、核心关系与权限规则:
(1)、创建与归属:
[*]管理员(Admin)可创建所有实体(用户、群组、项目);普通用户可创建个人项目或私有群组(取决于全局配置)。
[*]项目必须归属「用户」或「群组」,群组可包含多个项目和子群组,用户可加入多个群组或直接关联项目。
(2)、权限分配逻辑:
1)、群组与用户:
[*]用户加入群组时被赋予「群组级权限」,该权限默认继承到群组下的所有项目(无需单独配置)。
2)、项目与用户/群组:
[*]项目可直接添加用户并赋予权限,该权限仅作用于当前项目,可覆盖用户在群组中的权限(更高或更低)。
[*]项目归属群组后,自动继承群组的用户权限(即群组内所有用户按其群组角色获得项目权限),无需逐个添加。
三、基于Docker-GitLab安装部署:
1、拉取镜像:
docker pull gitlab/gitlab-ce:latest2、创建持久化目录:
# 存放 GitLab 配置文件(如 gitlab.rb)mkdir -p /data/gitlab-data/config# 存放运行日志(如访问日志、错误日志)mkdir -p /data/gitlab-data/logs# 存放核心数据(代码仓库、数据库、缓存等)mkdir -p /data/gitlab-data/data3、启动容器:
# 宿主机IP替换127.0.0.1docker run -d \--name gitlab \--hostname 127.0.0.1 \-p 8929:80 \-p 2222:22 \-v /data/gitlab-data/config:/etc/gitlab \-v /data/gitlab-data/logs:/var/log/gitlab \-v /data/gitlab-data/data:/var/opt/gitlab \gitlab/gitlab-ce:latest4、等待容器初始化:
# 实时查看容器启动日志,首次启动需要初始化数据库、配置服务等,约 5-10 分钟docker logs -f gitlab5、访问GitLab并完成初始化:
(1)、访问网页(宿主机IP)
http://127.0.0.1:8929/users/sign_in
(2)、管理员账号密码:
# 账号root# 获取密码docker exec gitlab cat /etc/gitlab/initial_root_password# 修改密码https://img2024.cnblogs.com/blog/2506499/202512/2506499-20251224102058519-1123083420.png
6、Docker-GitLab项目-HTTP克隆方式未携带端口号问题修复:
https://img2024.cnblogs.com/blog/2506499/202512/2506499-20251224102319131-154109031.png
Docker 部署 GitLab 时自定义端口映射(如-p 8929:80)后,HTTP 克隆地址不带自定义端口 8929 而默认隐含 80 端口,核心是 GitLab 的external_url配置未同步该自定义端口 ——Docker 端口映射仅定义了主机与容器的访问通道,容器内的 GitLab 并不知道这个外部端口,仍按默认 80 端口生成克隆地址。
(1)相关解决方案:
# 进入运行中的 GitLab 容器sudo docker exec -it gitlab bash# 切换到配置目录cd /opt/gitlab/embedded/service/gitlab-rails/config# 编辑 gitlab.yml,修改 port 为 8929vi gitlab.yml# 容器内执行,重启所有服务gitlab-ctl restarthttps://img2024.cnblogs.com/blog/2506499/202512/2506499-20251224102627766-2101314839.png
https://img2024.cnblogs.com/blog/2506499/202512/2506499-20251224102733332-209506293.png
四、GitLab相关操作:
1、用户管理:
https://img2024.cnblogs.com/blog/2506499/202512/2506499-20251224102958066-2025294811.png
https://img2024.cnblogs.com/blog/2506499/202512/2506499-20251224103118942-1115792147.png
https://img2024.cnblogs.com/blog/2506499/202512/2506499-20251224103233053-1746145124.png
https://img2024.cnblogs.com/blog/2506499/202512/2506499-20251224103318873-479137886.png
2、群组管理:
https://img2024.cnblogs.com/blog/2506499/202512/2506499-20251224103450366-2103842119.png
https://img2024.cnblogs.com/blog/2506499/202512/2506499-20251224103523683-542468115.png
https://img2024.cnblogs.com/blog/2506499/202512/2506499-20251224103638264-315455124.png
https://img2024.cnblogs.com/blog/2506499/202512/2506499-20251224103716906-503081571.png
3、项目管理:
https://img2024.cnblogs.com/blog/2506499/202512/2506499-20251224104702262-872288244.png
https://img2024.cnblogs.com/blog/2506499/202512/2506499-20251224104808483-1373757155.png
https://img2024.cnblogs.com/blog/2506499/202512/2506499-20251224104935792-559092280.png
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! 过来提前占个楼 这个有用。 不错,里面软件多更新就更好了 鼓励转贴优秀软件安全工具和文档! 感谢分享,下载保存了,貌似很强大 感谢分享 感谢分享 鼓励转贴优秀软件安全工具和文档! 感谢分享,下载保存了,貌似很强大 东西不错很实用谢谢分享 感谢分享,学习下。 东西不错很实用谢谢分享 谢谢分享,试用一下 感谢分享,下载保存了,貌似很强大 喜欢鼓捣这些软件,现在用得少,谢谢分享! 新版吗?好像是停更了吧。 yyds。多谢分享 收藏一下 不知道什么时候能用到 很好很强大我过来先占个楼 待编辑
页:
[1]
2