docker自建GitLab仓库

摘要

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 功能的深入探索,你会发现更多提高开发效率和代码质量的方法。现在,你已经拥有了一个强大的开源代码托管平台,开始你的开源项目之旅吧!

下面是使用Docker Compose搭建GitLab仓库的步骤: 1. 首先安装DockerDocker Compose。 2. 创建一个目录,用于存放GitLab配置文件和数据。 ``` mkdir -p /srv/gitlab/config mkdir -p /srv/gitlab/data mkdir -p /srv/gitlab/logs ``` 3. 创建docker-compose.yml文件,并加入以下内容: ```yaml version: '3' services: gitlab: image: gitlab/gitlab-ce:latest restart: always hostname: 'gitlab.example.com' # 根据实际情况修改 environment: GITLAB_OMNIBUS_CONFIG: | external_url 'http://gitlab.example.com' # 根据实际情况修改 gitlab_rails['gitlab_shell_ssh_port'] = 2222 # 根据实际情况修改 gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.gmail.com" gitlab_rails['smtp_port'] = 587 gitlab_rails['smtp_user_name'] = "your_email@gmail.com" # 根据实际情况修改 gitlab_rails['smtp_password'] = "your_password" # 根据实际情况修改 gitlab_rails['smtp_domain'] = "smtp.gmail.com" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] = false gitlab_rails['smtp_openssl_verify_mode'] = 'peer' gitlab_rails['backup_keep_time'] = 604800 gitlab_rails['backup_path'] = "/var/opt/gitlab/backups" ports: - '80:80' - '443:443' - '2222:22' volumes: - '/srv/gitlab/config:/etc/gitlab' - '/srv/gitlab/logs:/var/log/gitlab' - '/srv/gitlab/data:/var/opt/gitlab' ``` 注意修改`hostname`和`external_url`为实际的域名和URL。 4. 启动GitLab容器。 ``` docker-compose up -d ``` 这个命令会在后台启动GitLab容器,并把容器的日志输出到终端。 5. 等待GitLab容器启动完成,打开浏览器,访问`http://gitlab.example.com`,就可以看到GitLab的登录页面了。第一次登录需要设置管理员账号和密码。 6. 如果需要备份GitLab数据,可以使用以下命令: ``` docker exec -t gitlab gitlab-rake gitlab:backup:create ``` 这个命令会在GitLab容器内部执行备份操作,并把备份文件保存到`/var/opt/gitlab/backups`目录下。可以使用`docker cp`命令把备份文件拷贝到宿主机上。需要定期执行备份操作,以保证数据安全。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小码快撩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值