行业资讯 2025年08月6日
0 收藏 0 点赞 271 浏览 2390 个字
摘要 :

文章目录 一、环境准备 二、搭建gitlab 1、拉取镜像 2、新建目录 3、启动运行 4、修改配置 5、重置管理员密码 6、访问 gitlab是一款非常好的代码托管工具,有人说我们……




  • 一、环境准备
  • 二、搭建gitlab
    • 1、拉取镜像
    • 2、新建目录
    • 3、启动运行
    • 4、修改配置
    • 5、重置管理员密码
    • 6、访问

    gitlab是一款非常好的代码托管工具,有人说我们已经有了github或者gitee,还要gitlab干嘛?相比于github和gitee,我们可以使用gitlab搭建私服,也就是在我们内部的服务器搭建代码托管工具,而不依赖于第三方。主要有两个好处,一方面不需要向第三方付费,另一方面,也保障了代码安全且不被泄露!可以说是公司内部开发的明智之选。那么,我们应该如何搭建gitlab的私服环境呢?下面潘老师,基于docker来讲解下安装gitlab私服环境搭建教程

    一、环境准备

    如果你还没安装过docker,可以参考这篇文章,包docker环境准备好。

    Docker安装、运行、卸载—Docker学习教程(2)

    文章目录 一、环境准备 二、官网及文档 三、安装 第1步:卸载旧的Docker 第2步:安装必备的工具包 第3 […]

    注意:虚拟机的内存至少设置为3G,不然可能会无法访问gitlab

    二、搭建gitlab

    1、拉取镜像

    执行如下命令,从 docker 的镜像仓库中下载 gitlab 社区版的最新版本镜像

    docker pull gitlab/gitlab-ce:latest
    

    镜像有点大,超过1个G,所以请务必配置镜像加速器,否则会很慢,甚至会提示超时失败,如果没有配置过请参考上面安装docker的文章最后部分去配置。

    2、新建目录

    我们需要新建3个目录,分别如下:

    # 配置
    mkdir -p /usr/local/gitlab/config
    # 数据
    mkdir -p /usr/local/gitlab/data
    # 日志
    mkdir -p /usr/local/gitlab/logs
    

    这3个目录主要是用来以docker volume 的方式将存储的数据映射到操作系统的目录中来,保证容器的数据是能够持久化保存,这样即使运行的容器崩溃,我们重新启动一个新的容器,原来容器中的数据还是不会丢失。

    3、启动运行

    # -d:后台运行
    # -p:将容器内部端口向外映射
    # --name:命名容器名称
    # -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录
    docker run -detach \\
      --publish 8443:443 --publish 8880:80 --publish 8222:22 \\
      --name gitlab \\
      --restart always \\
      -v /usr/local/gitlab/config:/etc/gitlab \\
      -v /usr/local/gitlab/logs:/var/log/gitlab \\
      -v /usr/local/gitlab/data:/var/opt/gitlab \\
      --privileged=true \\
      gitlab/gitlab-ce:latest
    

    执行完启动成功会打印一个很长的字符串,就是容器得id

    4、修改配置

    我们需要将external_url改成部署机器的域名或者IP地址,该配置在/usr/local/gitlab/config/gitlab.rb文件中。gitlab.rb文件默认所有配置都是注释的,因此我们在文件最后一行直接新增如下配置(如果你能找到原先注释的修改也行):

    # 打开编辑文件
    vi /usr/local/gitlab/config/gitlab.rb
    # 修改/新增 配置http协议所使用的访问地址,不加端口号默认为80
    external_url 'http://192.168.183.200'
    # 配置ssh协议所使用的访问地址和端口
    gitlab_rails['gitlab_ssh_host'] = '192.168.183.200'
    # 此端口是run时22端口映射的8222端口
    gitlab_rails['gitlab_shell_ssh_port'] = 8222 
    #保存配置文件并退出
    :wq 
    # 重启gitlab容器
    docker restart gitlab
    

    5、重置管理员密码

    1)进入docker gitlab 容器中

    # 这里的gitlab是 容器名字,就是我们上面启动定义的
    docker exec -it gitlab  bash
    

    2)进入gitlab 控制台

     #可能会等好几秒钟 
    gitlab-rails console -e production
    

    3)搜索用户

    #这里提供两种搜索方式  通过id(推荐)
    user = User.where(id:1).first
    #或者 通过电子邮件搜索  或者用户名
    user = User.find_by(email:'admin@example.com')
    

    4)修改密码

    #注意  这两个选项都得设置, 我这里设置密码为123456789(至少8位!)
    user.password ='123456789'
    user.password_confirmation ='123456789'
    

    5)保存

    # 切记!不能丢
    user.save!
    

    现在gitlab管理员用户名密码就改为了root 123456789,具体操作详细如图:
    docker安装gitlab私服环境搭建教程
    6)退出重启

    # 退出exit执行两次
    exit
    # 重启gitlab
    docker restart gitlab
    

    6、访问

    浏览器访问http://192.168.183.200:8880/,发现正常显示登录页面并可以登录:
    docker安装gitlab私服环境搭建教程

    注意:如果你访问报错提示502

    Whoops, GitLab is taking too much time to respond.

    请参考如下文章:

    docker安装gitlab 502 问题解决Whoops, GitLab is taking too much time to respond.

    最近在使用docker安装gitlab时,什么都配置好了,但浏览器一访问就报错 502 ,具体提示 Whoop […]

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.zuozi.net/8098.html

管理员

相关推荐
2025-08-06

文章目录 一、Reader 接口概述 1.1 什么是 Reader 接口? 1.2 Reader 与 InputStream 的区别 1.3 …

986
2025-08-06

文章目录 一、事件溯源 (一)核心概念 (二)Kafka与Golang的优势 (三)完整代码实现 二、命令…

463
2025-08-06

文章目录 一、证明GC期间执行native函数的线程仍在运行 二、native线程操作Java对象的影响及处理方…

347
2025-08-06

文章目录 一、事务基础概念 二、MyBatis事务管理机制 (一)JDBC原生事务管理(JdbcTransaction)…

455
2025-08-06

文章目录 一、SnowFlake算法核心原理 二、SnowFlake算法工作流程详解 三、SnowFlake算法的Java代码…

515
2025-08-06

文章目录 一、本地Jar包的加载操作 二、本地Class的加载方法 三、远程Jar包的加载方式 你知道Groo…

831
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力内容变现

将您的收入提升到一个新的水平

点击联系客服

在线时间:08:00-23:00

客服QQ

122325244

客服电话

400-888-8888

客服邮箱

122325244@qq.com

扫描二维码

关注微信客服号