摘要
GitLab 是一个功能强大的开源代码托管平台,它不仅提供了代码存储和版本控制的核心功能,还集成了项目管理、CI/CD 流水线、代码审查等企业级特性。本文将指导你如何在自己的服务器上搭建 GitLab 社区版,创建一个完全属于自己的开源仓库,享受私有化部署带来的灵活性与安全性。
一、拉取gitlab镜像
1.输入命令docker pull gitlab/gitlab-ce
2.输入docker images 查看镜像拉取成功
二、启动容器
1.输入启动容器命令
docker run -itd --name gitlab -p 443:443 -p 80:80 -p 222:22 --restart always -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
命令解释:
- -i :以交互模式运行容器,通常与 -t 同时使用命令解释
- -t :为容器重新分配一个伪输入终端,通常与 -i 同时使用
- -d :后台运行容器,并返回容器ID
- -p:80:80 将容器内80端口映射至宿主机80端口,这是访问gitlab的端口
- -p:222:22 将容器内22端口映射至宿主机222端口,这是访问ssh的端口
- -v :/usr/local/gitlab-test/etc:/etc/gitlab 将容器/etc/gitlab目录挂载到宿主机/usr/local/gitlab-test/etc目录下,若宿主机内此目录不存在将会自动创建,其他两个挂载同这个一样
- –restart always :容器自启动
- –privileged=true :让容器获取宿主机root权限
- –name gitlab :设置容器名称为gitlab
- gitlab/gitlab-ce :镜像的名称,这里也可以写镜像ID
docker run -v挂载目录时,若本地没有该目录挂载时会自动创建。
[root@hadoop102 ~]# ls /home/
gitlab[root@hadoop102 ~]# ls /home/gitlab/
config data logs
2.修改gitlab.rb配置文件
vim /home/gitlab/config/gitlab.rb
因为我这里已经修改完了,就直接展示修改完之后的文件内容
只需要增加这三行内容,其余不用动
external_url 'http://192.168.59.130' //配置http协议所使用的gitlab访问地址,可以写域名。如果端口不写的话默认为80端口
gitlab_rails['gitlab_ssh_host'] = '192.168.59.130' //配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_shell_ssh_port'] = 222 //此端口是docker run时22端口映射的222端口
3.重启gitlab容器
docker restart gitlab
访问报错
报错原因:内存不足会提示502报错。(服务器内存至少4G,不够会出现502错误。)
经检查发现虚拟机内存仅为1G
扩展虚拟机内存为4G,并重启虚机
成功访问
三、登录仓库
1.宿主机中搜索initial_root_password文件
find / -name initial_root_password
Password:gitlab的初始密码
2.修改密码
- 首先输入命令 docker exec -it gitlab /bin/bash 进入gitlab容器
- 输入命令
gitlab-rails console -e production
启动Ruby on Rails控制台
- 控制台加载完毕,搜索用户,有两种方法
user = User.where(id: 1).first
user = User.find_by(email: 'admin@example.com')
因为我这里只有一个用户,所以采取第一种方式
- 更改密码
user.password = '新密码'
user.password_confirmation = '新密码'
- 保存
user.save
- 退出控制台,退出容器
- 登录
四、配置中文界面
保存之后刷新页面变为中文界面
结语
搭建并维护自己的 GitLab 仓库是一项提升团队协作效率和代码管理能力的重要举措。随着你对 GitLab 功能的深入探索,你会发现更多提高开发效率和代码质量的方法。现在,你已经拥有了一个强大的开源代码托管平台,开始你的开源项目之旅吧!