文章目录
- 前期准备
- 安装部署
- 拉取Gitlab镜像文件
- 创建容器挂在卷轴目录
- 运行镜像
- 修改配置文件
- 重启容器
- 使用说明
- 初次登陆
- 更改语言模式
- 创建新用户
- 邮件转发服务
- 总结
前期准备
准备一台CentOS7.8+以上版本的服务器(标配2核4G),建议是云服务器,如果条件不允许,可是使用虚拟机安装,共享个人PC配置,还是可以解决的,后面只要考虑穿透出去即可。因为2核4G的服务器年费还是很贵的。
- CentOS7.8+以上版本的服务器
# 阿里云盘(下载速度还是很快的)这里包含虚拟机软件和CentOS7.8的镜像,具体安装可以自行百度
# 安装完成后记得开放SSH 22 ,基本默认打开的,最好检查一下
https://www.aliyundrive.com/s/3ZCoPDFchkQ
- docker安装与部署
- 部署画布(Portainer.io,主要用于镜像管理的,纯当工具使用即可)Portainer.io
- 获取个人邮箱STMP授权码(可以选做)
安装部署
前期准备已经全部搞定之后
拉取Gitlab镜像文件
# 拉取镜像
docker pull gitlab/gitlab-ce
# 查看镜像文件
docker images
创建容器挂在卷轴目录
mkdir /dockers/srv/gitlab/{config,logs,data}
注意:这个目录是我的目录,可以自行创建,但是docker run中挂在卷轴的时候,注意切换
运行镜像
docker run --detach \
--hostname 本机IP地址 \
--publish 端口1:443 --publish 端口2:80 --publish 端口3:22 \
--name gitlab \
--restart always \
--volume /dockers/srv/gitlab/config:/etc/gitlab \
--volume /dockers/srv/gitlab/logs:/var/log/gitlab \
--volume /dockers/srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
- 本机IP地址替换自己的
- 端口1,端口2,端口3 是运行容器时候需要开放的端口,端口不能被占用,如果防火墙打开的,需要添加开放端口
# 检查端口占用情况
lsof -i: 端口号
# 开启
systemctl start firewalld.service
# 关闭
systemctl stop firewalld.service
# 防火墙状态
firewall-cmd --state
# 开放5672端口
firewall-cmd --zone=public --add-port=5672/tcp --permanent
#关闭5672端口
firewall-cmd --zone=public --remove-port=5672/tcp --permanent
# 配置立即生效
firewall-cmd --reload
- restart always ,开机重启docker容器
- detach,容器后台运行
运行成功可以使用:docker ps -a 查看,获取使用画布工具查看
这里需要注意的时候,gitlab启动是非常慢的,因为加载的组件太多了,我看了日志,它的镜像文件差不多是2个多G,它需要的内部服务组件还是很多的。
修改配置文件
# 容器的主要配置文件就在gitlab.rb文件里面,一般容器启动,会自动从容器中同步到宿主机里面
vim /dockers/srv/gitlab/config/gitlab.rb
# 使用查找的方法,更改一下配置
gitlab_rails['gitlab_shell_ssh_port'] = 端口3
external_url 'http://本机IP地址'
# 添加邮件转发服务,这里怎么获取,可以百度
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "yourname@qq.com"
gitlab_rails['smtp_password'] = "授权码"
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = "yourname@qq.com"
重启容器
修改完文件后,我们需要同步一下配置
# 进入gitlab bash
docker exec -it gitlab bash
# 重新应用gitlab的配置 执行非常慢 不要关注报错内容
gitlab-ctl reconfigure
# 重启gitlab服务
gitlab-ctl restart
# 查看gitlab运行状态
gitlab-ctl status
重启服务的过成功,不要做任何操作,只要等待即可
如果没有启动完成,你方位http://本机IP地址:端口2 就会出现这个页面
做个安静的美男子,稍微等一下,看到502基本成功一半了,但是要时刻关注内存使用情况
free -m
使用说明
初次登陆
默认用户是root
我们需要获取密码
docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
更改语言模式
由于我这里已经设置了语言模式
如果觉得登录密码太复杂,可以修改root密码
创建新用户
创建成功,需要root用户去审核
邮件转发服务
这个功能我没成功,但是我看网上有人成功了,我尝试编辑个人资料然后保存,但是没有发送邮件。。。
我估计要使用QQ邮箱,因为我用的163的企业邮箱,估计网易的465端口已经关闭或者邮箱服务地址不能用了。
总结
以上就是安装全部过程,其实并不难搞,难搞的就是后面的功能问题
- SSH代码链接不被许可
这个没有解决 - HTTP下载倒是可以,但是存在一个问题,就是端口被默认为80端口了假如我们的端口2设置的非80端口,这个就需要自己手动去加了
- 邮件转发不成功,这个问题,我们验证是网易的问题,那个STMP邮箱端口已经停用了465
总之本次安装只是成功一半,服务基本可以用了,还有个性化设置里面并不是全局设置,需要每个用户自定义去配置。审批环节是可以关闭的。