章
目
录
gitlab是一款非常好的代码托管工具,有人说我们已经有了github或者gitee,还要gitlab干嘛?相比于github和gitee,我们可以使用gitlab搭建私服,也就是在我们内部的服务器搭建代码托管工具,而不依赖于第三方。主要有两个好处,一方面不需要向第三方付费,另一方面,也保障了代码安全且不被泄露!可以说是公司内部开发的明智之选。那么,我们应该如何搭建gitlab的私服环境呢?下面潘老师,基于docker来讲解下安装gitlab私服环境搭建教程。
一、环境准备
如果你还没安装过docker,可以参考这篇文章,包docker环境准备好。
文章目录一、环境准备 二、官网及文档 三、安装 第1步:卸载旧的Docker 第2步:安装必备的工具包 第3步 […]
二、搭建gitlab
1、拉取镜像
执行如下命令,从 docker 的镜像仓库中下载 gitlab 社区版的最新版本镜像
docker pull gitlab/gitlab-ce:latest
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
,具体操作详细如图:
6)退出重启
# 退出exit执行两次 exit # 重启gitlab docker restart gitlab
6、访问
浏览器访问http://192.168.183.200:8880/
,发现正常显示登录页面并可以登录:
注意:如果你访问报错提示502
请参考如下文章:
最近在使用docker安装gitlab时,什么都配置好了,但浏览器一访问就报错 502 ,具体提示 Whoop […]