【GitLab】docker部署个人代码私服(开源gitlab)

2023-11-14

前期准备

准备一台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
    总之本次安装只是成功一半,服务基本可以用了,还有个性化设置里面并不是全局设置,需要每个用户自定义去配置。审批环节是可以关闭的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【GitLab】docker部署个人代码私服(开源gitlab) 的相关文章

随机推荐

  • Visio2——Visio2019任意位置添加连接点

    Visio绘图使用连接线时 有时会碰到无法准确连接在想要的位置 连接线总是自动连接到默认连接点 怎么连都不对的感觉真的很糟心 比如 我要连三根线的 除了中间这根 其它两根都飞到上面和下面了 可我想要红色线的效果 Visio中有个带 的功能键
  • 使用git clone命令克隆文件出现error: RPC failed; curl 18 transfer closed with outstanding read data remain问题

    笔者最近在使用git clone命令从github克隆源码到电脑时出现了以下问题 error RPC failed curl 18 transfer closed with outstanding read data remaining f
  • python元组和列表的转换

    num list 1 2 3 4 将num list转换为元组 num tuple tuple num list print type num tuple str tuple 1 2 3 将str tuple转换为列表 str list l
  • Nginx的概述和配置

    一 Nginx概述 1 Nginx的特点 2 Nginx编译安装 3 Nginx运行控制 4 Nginx和Apache的区别 4 1 nginx相对于apache的优点 4 2 apache相对于nginx的优点 二 编译安装Nginx服务
  • 解决ssh免密登录Enter passphrase for key问题

    该问题的出现是由于在生成秘钥过程 即ssh keygen t rsa P 后面的 P代表验证秘钥的密码 相当于第二层所 当不小心弄错了 就会让你输入这里的字符 解决方案 1 输入 P 后面需要输入的字符 2 删掉 ssh文件下的公钥和秘钥
  • android 使用OPENGL ES实现地月模型(3D)-纹理映射基础

    效果图 编写Dad java 在构造器中设置场景渲染器为主动渲染 并声明地球与月球的引用 在绘制changing方法中绘制地球 月球 浩瀚星空 通过线程控制地球 月亮的转动 创建纹理贴图 package com scout eeeeeee
  • Executors类中创建线程池的几种方法的分析

    Executors类中创建线程池的几种方法的分析 要配置一个线程池是比较复杂的 尤其是对于线程池的原理不是很清楚的情况下 很有可能配置的线程池不是较优的 因此在Executors类里面提供了一些静态工厂 生成一些常用的线程池 1 newFi
  • 2023备战金三银四,Python自动化软件测试面试宝典合集(五)

    接上篇 八 抓包与网络协议 8 1 抓包工具怎么用 我原来的公司对于抓包这块 在 App 的测试用得比较多 我们会使用 fiddler 抓取数据检查结果 定 位问题 测试安全 制造弱网环境 如 抓取数据通过查看请求数据 请求行 请求报头 请
  • HTML——label标签

    label标签 是什么 label标签是HTML中的一个标签 用于为表单元素 如文本框 复选框等 提供标签或说明文本 通常与input标签配合使用 label标签可以通过for属性与相应的表单元素建立联系 这样当用户点击标签时 相应的表单元
  • 三、Python基础(高级变量类型篇)

    三 Python基础 高级变量类型篇 目录 三 Python基础 高级变量类型篇 一 列表 list 1 列表的定义 2 列表的常用方法和操作 对象 方法名 参数 3 for in对列表迭代遍历 4 利用 for in 的输出技巧 5 se
  • CPU占用100%的一般原因及解决办法

    转自 微点阅读 https www weidianyuedu com content 2517683835639 html 电脑关机故障速解 经常出现cPU占用100 的情况 主要问题可能发生在下面的某些方面 cPU占用率高的九种可能 1
  • 有奖调研

    历经五载 FISCO BCOS开源联盟链生态圈已汇聚超过3000家机构与企业 7万多名个人成员 大家秉持共建共享的开源精神 一同建设出FISCO BCOS在技术 应用和生态上的累累硕果 在这片天地里 我们与志同道合的伙伴交流技术 也发现了区
  • 关于类,你真的掌握了吗?(详细代码解读以及详细图解)

    目录 一 类和对象 二 类和类的实例化 三 类的成员 四 封装 五 构造方法 六 代码块 今日良言 既然选择了远方 便只顾风雨兼程 一 类和对象 1 类 具有相同特性 属性 和行为的对象的抽象 类是一个模板 2 对象 对象是人们要进行研究的
  • 多元线性回归方差分析表理解

    1 单因素一元方差分析的方法和案例 例子 案例的代码 X 533 580 525 600 570 650 500 因数I A F 实验组 CK标准 565 600 500 615 575 661 510 525 575 510 590 56
  • 四个视角,讲透额温枪应用设计中的运放问题

    3 月 12 号 世界卫生组织宣布新冠肺炎为全球性流行病 抗疫正从中国的 人民战争 变成一场 世界大战 很多事情正在微妙和快速的变化 额温枪和口罩一样 成为抗疫以及复产复工必不可少的日常用品 额温枪成了市场上炙手可热的产品 很多厂家开始步入
  • Top n 开源物理仿真引擎

    物理仿真引擎可以做为强化学习用 也可以做游戏等 列举主要几个开源的 pybullet Webots 开源早的 用户也多 比如 pybullet提供Python API 学习曲线较平缓 Nvidia的isaac 新开源不久 GPU支持好 Mu
  • 微信能上但浏览器无法上网

    微信能上但浏览器无法上网 问题描述 微信能聊天传文件 但是浏览器一直显示 未链接到互联网 问题描述 网络诊断提示 远程计算机或设备将不接受链接 出现这类问题 一般都是电脑打开了SSR代理服务 关闭了代理服务基本上就可以恢复正常上网了 解决方
  • Unity的C#编程教程_47_函数和方法

    C Functions and Methods Overview 1 Functions vs Methods 函数和方法其实就是一个东西 在 C 中通常称之为方法 方法 就是一块打包的代码 比如我们最常见的 就是在 Unity 中初始化
  • Mac git 命令自动提示

    1 首先安装配置Homebrew 注 如果已经安装过就跳过 在终端输入如下命令 usr bin ruby e curl fsSL https raw githubusercontent com Homebrew install master
  • 【GitLab】docker部署个人代码私服(开源gitlab)

    文章目录 前期准备 安装部署 拉取Gitlab镜像文件 创建容器挂在卷轴目录 运行镜像 修改配置文件 重启容器 使用说明 初次登陆 更改语言模式 创建新用户 邮件转发服务 总结 前期准备 准备一台CentOS7 8 以上版本的服务器 标配2