网站首页 > 博客文章 正文
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。
环境
配置域名的原因是可以使配置文件通用,这样在别的机器进行恢复时,就不需要修改配置了,另外配置好域名后,在我们创建好项目时,克隆代码所提示的 ssh 和 http 地址就是带域名的,而不是IP地址。?
IP | 角色 | 域名 |
192.168.0.143 | 主 GitLab 仓库 | code.gitlab.com |
192.168.0.154 | 从 GitLab 仓库 | code.gitlab.com |
安装 GitLab(建议在主从机器上同时安装)
创建存储目录
# 创建数据存储目录、日志目录、配置目录
mkdir -p /home/gitlab/{data,log,etc}
拉取并启动容器
docker pull twang2218/gitlab-ce-zh:11.1
docker run -d --publish 8090:8090 --publish 2222:22 --name gitlab --privileged=true --restart=always -e TZ=Asia/Shanghai -v /home/gitlab/etc:/etc/gitlab -v /home/gitlab/log:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab twang2218/gitlab-ce-zh:11.1
修改配置文件
# 进入容器
docker exec -it gitlab /bin/bash
# 修改 /etc/gitlab/gitlab.rb
## http使用的端口以及在项目工程显示的 http 下载路径中使用
external_url 'http://code.gitlab.com:8090'
## 项目工程显示的 ssh 地址和端口
gitlab_rails['gitlab_ssh_host'] = 'code.gitlab.com'
gitlab_rails['gitlab_shell_ssh_port'] = 2222
## 时区
gitlab_rails['time_zone'] = 'Asia/Shanghai'
## 保存备份 30 天
gitlab_rails['backup_keep_time'] = 2592000
# 执行重载配置文件
gitlab-ctl reconfigure
配置 GitLab
访问
首先为 root 用户设置密码,root 用户将作为 GitLab 的管理员
进入 GitLab 管理页面
- 修改登录页面提示
- 取消头像显示
不取消会显示异常
- 取消注册功能
在公司内网使用,无需注册功能,账号通过管理员添加
- 增加新用户
中文名
用户名:姓名的全拼音,如果有重名就往后面加编号,例如:zhangsan2
电子邮箱:填写公司的邮箱(让开发人员自己提供一下)
GitLab 备份与恢复
创建备份文件
docker exec gitlab gitlab-rake gitlab:backup:create
生成的备份文件为:1623140468_2021_06_08_11.1.4_gitlab_backup.tar,所在目录为:/home/gitlab/data/backups
定时备份
- 配置主从机器免密登录
# 在主机器上生成密钥(如果已经生成就跳过这一步)
ssh-keygen -t rsa
# 将密钥拷贝到从机器,实现主机免密登录从机
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.154
- 创建定时备份脚本 /home/auto_backup.sh
# 执行备份命令
docker exec gitlab gitlab-rake gitlab:backup:create
# 将备份文件拷贝到备用机器的 GitLab 数据目录下
scp -r /home/gitlab/data/backups root@192.168.0.154:/home/gitlab/data/backups
- 添加定时任务
vim /etc/crontab
# 每天备份两次, 12 点和 18 点各一次
0 12,18 * * * root sh /home/auto_backup.sh CRON=1
# 重新加载定时器
service cron reload
service cron restart
仓库恢复
注意:在从机器上必须按照上面的安装和配置步骤提前安装好 GitLab,然后执行以下步骤进行仓库恢复,以下操作均在从机器上执行:
- 将备份文件拷贝到要恢复的机器(从机器)的 GitLab 数据目录下
上面的定时任务如果没问题,这一步就可以省略了 - 进入 GitLab 容器,执行以下恢复命令
# 进入容器
docker exec -it gitlab /bin/bash
# 停止相关数据连接服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
# 为备份文件赋予执行权限
chmod -R 7777 /var/opt/gitlab/backups
cd /var/opt/gitlab/backups
# 备份文件编号备份的 tar 包数字部门,例如:1623140468_2021_06_08_11.1.4_gitlab_backup.tar,编号为:1623140468_2021_06_08_11.1.4
gitlab-rake gitlab:backup:restore BACKUP=备份文件编号
gitlab-ctl start
(此处已添加圈子卡片,请到今日头条客户端查看)
猜你喜欢
- 2024-11-06 docker仓库Harbor的搭建教程(docker 仓库搭建)
- 2024-11-06 【服务器】创建docker私有仓库从未如此简单
- 2024-11-06 DOCKER本地仓库(docker本地仓库源文件丢失)
- 2024-11-06 如何搭建自己的docker私有仓库(内网搭建docker私有仓库)
- 2024-11-06 学习笔记-Docker 仓库 - 私有仓库
- 2024-11-06 手把手教你使用Docker部署Gitlab仓库
- 2024-11-06 极简Docker仓库操作(docker仓库的作用)
- 2024-11-06 docker容器仓库私服建立(docker仓库的创建)
- 2024-11-06 Docker 系列四(自定义仓库)(docker安装自定义存储目录)
- 2024-11-06 Harbor: 高可用docker仓库搭建过程
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)