docker内网部署gitlab步骤及gitblit迁移gitlab踩坑

  • 1.部署情况
  • 2.部署步骤
    • 1、将gitlab docker镜像gitlab.tar拷贝到服务器中并加载
    • 2、运行镜像
    • 3、配置gitlab
      • 踩坑:
      • gitlab用到的命令
      • docker:
      • 防火墙
      • 开启、重启、关闭、firewalld.service服务
      • gitblit 迁移gitlab 命令
      • gitlab备份NAS

1.部署情况

工具链名称 gitlab
版本 GitLab Community Edition 10.6.4
部署方式 容器部署/虚拟机部署
最佳CPU 4c
最佳内存 8g
最佳磁盘 100g
虚拟机系统 CentOS 7.4
涉及插件
备注

2.部署步骤

1、将gitlab docker镜像gitlab.tar拷贝到服务器中并加载

docker load -i gitlab.tar
(此处使用的docker镜像和gitlab都为本地资源包,大概45M和1.4G)

2、运行镜像

docker run --name gitlab -p443:443 -p80:80 -p 2222:22 --restart always -v /opt/gitlab/config:/etc/gitlab -v /opt/gitlab/logs:/var/log/gitlab -v /opt/gitlab/data:/var/opt/gitlab -d cb7f154f4459
备注:主机挂载gitlab容器工作目录自行替换配置

备注:默认初始化设置root密码

3、配置gitlab

按上面的方式启动容器成功,但在gitlab上创建项目生成的URL访问地址,作为gitlab服务器,我们需要一个固定的URL访问地址,所以需要配置gitlab.rb(按照启动-v配置是在宿主机/opt/gitlab/config/gitlab.rb)

gitlab.rb修改一:[注意和-p 设置80映射端口一致]

gitlab.rb修改二:

Gitlab.rb修改三:[注意和-p 设置22映射端口一致]

重启gitlab容器

gitlab-ctl reconfigure
gitlab-ctl restart
docker restart 容器ID或容器名

gitlab-rake gitlab:ldap:check
http协议
ssh协议

踩坑:

1.部署时候要求git用VPN链接且只能连接到10443端口,
需将第一步docker run --name gitlab -p443:443 -p80:80 中的80端口修改为docker run --name gitlab -p443:443 -p10443:10443,同时修改gitlab配置文件才生效的。
2.内网liniux服务器端口防火墙默认开启的,需关闭掉,不然还是访问不了,有的时候关闭了也访问不了,需开启防火墙端口允许访问权限。

附gitlab、docker、防火墙使用到的命令

gitlab用到的命令

重载配置文件: gitlab-ctl reconfigure
重启gitlab:gitlab-ctl restart
关闭:gitlab-ctl stop
开启:gitlab-ctl start
查看状态:gitlab-ctl status
编辑gitlab配置文件: vim /etc/gitlab/gitlab.rb
备注:需使用docker进去容器后才能使用该命令,使用完毕后:exit 退出后才能使用docker命令

docker:

docker restart w容器ID或容器名
docker stop
进入容器:docker exec -it gitlab1 /bin/bash
退出容器:exit
docker启动命令,docker重启命令,docker关闭命令

编辑gitlab配置文件: vim /etc/gitlab/gitlab.rb

防火墙

firewall-cmd --list-all
5、查询、开放、关闭端口
#查询端口是否开放
firewall-cmd --query-port=8080/tcp
#开放80端口
firewall-cmd --permanent --add-port=80/tcp
#移除端口
firewall-cmd --permanent --remove-port=8080/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
查看firewall的状态
firewall-cmd --state

开启、重启、关闭、firewalld.service服务

#开启 #重启 #关闭
service firewalld start
service firewalld restart
service firewalld stop

gitblit 迁移gitlab 命令

先用一台电脑将所有仓库clone下来:
然后进入项目.git目录下执行下面命令:

pwd
project_path=$(dirname "$PWD")
project_name="${project_path##*/}"
echo $project_name
git push --mirror http://10.1.42.160:10443/AplicationDevelop/$project_name.git

会自动将项目push 到gitlab中

gitlab备份NAS

挂载Nas
mount -t nfs -o nolock (nas路径) /opt/gitlab/data/backups
mount -t nfs -o tcp (nas路径) /opt/gitlab/data/backups
取消挂载
umount /opt/gitlab/data/backups

查看磁盘情况是否挂载上
df -h

基于docker上gitlab命令执行
docker exec gitlab gitlab-backup create

  1. gitlab备份
    gitlab-rake gitlab:backup:create
    liniux定时任务
    crontab -e

  2. 自动定时备份gitlab数据,使用命令crontab -e,添加定时任务
    crontab -e

  3. 根据自己部门的配置时间进行对应修改
    //本部门白天都在提交数据,改成凌晨进行备份处理
    0 0 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create

  4. 重启crontab
    systemctl restart crond

  5. 本地配置自动清理备份数据,通过修改gitlab自己的配置实现
    vim /etc/gitlab/gitlab.rb

  6. 将配置文件中backup_keep_time的注释取消掉
    //备份保留7天(7360024=604800)
    gitlab_rails[‘backup_keep_time’] = 604800

  7. 重新加载配置文件
    gitlab-ctl reconfigure

docker内网部署gitlab步骤及gitblit迁移gitlab踩坑gitlab备份nas相关推荐

  1. YApi内网部署、外网部署教程

    内网部署流程: 一.外网服务器 1.通过连接外网服务器下载.安装node: 2.通过连接外网服务器下载.安装MongoDB: 3.通过连接外网服务器下载YApi,并打包: 4.通过连接外网服务器下载M ...

  2. element-ui 官方文档内网部署方法

    element-ui 官方文档内网部署方法 获取官方文档github地址并下载 本地安装部署 由于公司开发处于内网环境,查看element-ui的官方文档非常不方便,因此希望将其部署到内网,方便使用, ...

  3. edusoho 内网部署问题(视频播放,文件上传 无法使用)

    edusoho 网络课堂 /edusoho 企业大学(企业培训版) 纯内网部署.课程视频播放 和课程上传文件 问题. 原因是: 播放器和上传的sdk是访问云端的,内网部署的话需要本地化. 注意: 1. ...

  4. GitLab CI/CD 因git凭据踩坑

    GitLab CI/CD 因git凭据踩坑 [TOC] 1. 问题 我在windows上,使用git push到gitlab中的私有项目上(项目是有ci/cd设置的),runner执行时出现403权限 ...

  5. 将Hexo个人博客部署到个人云服务器--最详细踩坑教程

    将Hexo个人博客部署到个人云服务器–最详细踩坑教程 文章目录 将Hexo个人博客部署到个人云服务器--最详细踩坑教程 一. 背景 *二. 获取体验产品--服务器(选读节) (一)说明 (二)购买体验 ...

  6. 关于Linux下Docker内网离线安装的一些笔记

    写在前面 博文为内网离线安装 docker 教程 安装前提是你需要有一台最小化安装的 Linux 机器,可以是虚机 如果不是最小化,可能需要手动下载一些依赖 理解不足小伙伴帮忙指正 我所渴求的,無非是 ...

  7. 工厂仪表定时拍照智能AI算法识别内网部署方案

    本方案共分为4层架构.最底层现场仪表是工厂已经有的,正常使用且需要采集示数的仪表. 第二层,拍照摄像头是专用的定时抓拍摄像头,针对恶劣工业环境而设计,可以定时拍照,并将图片上传到指定的FTP服务器,在 ...

  8. 微软云设置内网互通的步骤

    操作完以上步骤内网互通设置完成 这个几个步骤主要是设置一下,云服务的不同网段的ip.能够互通,但是建议购买的时候尽量购买同一网段的,如果不是可以这样设置一下,也是可以

  9. 没有公网ip的企业的内网部署金蝶服务器实现外网访问的解决方案。

    2016年底集团总部要上新的财务软件系统(金蝶),基于安全考虑要求财务服务器部署内网,但是西安电信,联通,移动不提供公网ip,只有一个虚拟ip,这样不能为集团内分子公司(北京.上海.长沙.海口)提供服 ...

最新文章

  1. k8s系列----一个简单的例子
  2. 了解Hololens2的硬件信息
  3. Python基础教程(五):数字、字符串
  4. java安全初始化_java安全编码指南之:声明和初始化
  5. C语言 time函数 开销,C语言: 函数调用的开销
  6. mysql in 多个字段_MySQL如何同时自增自减多个字段
  7. 请解决datagridview
  8. Angular2.x
  9. 【2019年中总结】五种途径对接天猫精灵音响控制您的智能设备,打破传统产业,让语音AI控制无处不在!
  10. 努比亚 N1 (Nubia NX541J) 解锁BootLoader 并刷入recovery
  11. 东南部海域有7、8级大风 华北平原大气扩散条件转差
  12. SpringBoot RabbitMQ 异步激活_注册邮箱
  13. 黄金实盘点评:价格不宜回调过深
  14. 第四单元:丰富的网页媒体
  15. 【Excle数据透视表】如何快速选定数据透视表的汇总行并添加绿色底纹
  16. 智能车竞赛技术报告 | 节能信标组 - 兰州交通大学 - 先锋队
  17. Failed connect to github-production-release-asset-2e65be.s3.amazonaws.com:443; 连接超时
  18. 智能对话架构师速成秘诀在这里
  19. vscode中如何将px转rem
  20. 梳理 React 知识笔记 从入门到放弃 !框架必知的知识点

热门文章

  1. 投稿时论文Highlights的写法
  2. Struts2 权威指南 读书笔记本(二)
  3. JS对象和JQuery对象的相互转换
  4. 微软必应地图加载错误:Uncaught TypeError: Microsoft.Maps.Location is not a constructor
  5. 【论文阅读】Hiding Images in Plain Sight: Deep Steganography
  6. 自己的反汇编引擎--Intel指令编码(2)
  7. 1147. 西佳佳偶像天团1
  8. ​鼠标右键打开 VSCode 设置(Open With VSCode)​
  9. Java:使用HttpURLConnection发送请求时报文体为什么会为空?
  10. std::move作用详解