docker部署gitlab CI/CD (一)第一篇:部署gitlab及汉化
网上很多类似教程,但多少有点夹带私货,有的竟然拉取的第三方镜像,而且很多都要修改配置文件,完全不知道是为什么,于是结合其他人的博客和官方文档,知其然也要知其所以然,于2023年4月17日写下这篇。
官方文档:
https://docs.gitlab.com/ee/install/docker.html
主要参考博客:
https://www.cnblogs.com/diaomina/p/12830449.html
这篇文档很通顺,但中途有错误,需结合评论一起食用
建议:
1.服务器内存建议大于4G,抄自:https://about.gitlab.com/install/
2.如果已经部署好gitlab,想看cicd环节,请移至最终篇:docker部署gitlab CI/CD (二)终篇:部署gitlab runner和添加gitlab-ci.yml文件 终极踩坑版
作者环境:
CentOS7
开始:
#1.拉取gitlab镜像
docker pull gitlab/gitlab-ce
ee是企业版,ce是社区版
#2.运行gitlab
docker run \
-itd \
-p 9080:9080 \
-p 9022:22 \
-v /home/gitlab/etc:/etc/gitlab \
-v /home/gitlab/log:/var/log/gitlab \
-v /home/gitlab/opt:/var/opt/gitlab \
--restart always \
--privileged=true \
--name gitlab \
gitlab/gitlab-ce
解释:一般80和22端口早就被占用了,
这里之所以映射容器内部9080而不是80,因为启动后仓库的http克隆地址gitlab会认为是80,从而给你错误的仓库地址,如下图,并没有端口号,实际是请求不通的
-i 以交互模式运行容器,通常与 -t 同时使用命令解释:
-t 为容器重新分配一个伪输入终端,通常与 -i 同时使用
-d 后台运行容器,并返回容器ID
-p 9080:9080 将容器内9080端口映射至宿主机9080端口,这是访问gitlab的端口
-p 9022:22 将容器内22端口映射至宿主机9022端口,这是访问ssh的端口
-v /home/gitlab/etc:/etc/gitlab 将容器/etc/gitlab目录挂载到宿主机目录下,若宿主机内此目录不存在将会自动创建,其他两个挂载同这个一样
--restart always 容器自启动
--privileged=true 让容器获取宿主机root权限
--name gitlab-test 设置容器名称为gitlab
gitlab/gitlab-ce 镜像的名称,这里也可以写镜像ID
#2.1.修改配置文件
vi /home/gitlab/etc/gitlab.rb
external_url 'http://192.168.52.128:9080'
gitlab_rails['gitlab_shell_ssh_port'] = 9022
gitlab_rails['gitlab_ssh_host'] = '192.168.52.128'
:wq退出vi,然后重启
docker restart gitlab
配置文件必须要改,不然代码里的仓库地址是一堆乱码,如下:
正确的克隆地址应该如下图,可以等后面配置完再回头看看:
#3.查看账号初始密码
sudo docker exec -it <CONTAINERID> grep 'Password:' /etc/gitlab/initial_root_password
<CONTAINERID>为你的容器ID
#4 浏览器访问gitlab地址:192.168.5.128:9080
不出意外的话会出现如下界面,账号是root,
如果出现意外,那就考虑一下防火墙问题或配置文件的端口号和容器映射的端口号不一样
这个界面比较新,因为前几天我在公司部署后跟大部分文档界面一样,左侧有说明文字,今天在家部署,可能版本有更新变简洁了。当前版本:15.10
#5.关闭注册
自己或公司的gitlab,肯定不能开放注册,一般登录后进首页会提示你关闭注册,不过没关系,这里告诉你怎么手动关闭
把这两个取消勾选,然后点保存
#6.汉化
找到Localization,选择简体中文,保存,刷新页面
#7.修改密码
这个自带的密码只会保留24小时,修改一下密码
左侧点击密码,自行修改
#8.首页汉化
重新到了登录界面才发现,底部也有一个语言选项
选择简体中文,完事,最后记得看看仓库的克隆地址是否正确,不正确再回头看看修改配置文件步骤
结束