部署


安装Postfix以发送通知邮件
yum install postfix
将postfix服务设置成开机自启动
systemctl enable postfix
启动postfix
systemctl start postfix
下载镜像
wget  https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-15.0.0-ce.0.el7.x86_64.rpm
安装依赖项
yum install policycoreutils-python
安装gitlab
rpm -i gitlab-ce-15.0.0-ce.0.el7.x86_64.rpm
配置gitlab地址,格式http://公网ip:端口号
vi  /etc/gitlab/gitlab.rb
external_url 'https://192.168.2.107:8084'
重载配置
gitlab-ctl reconfigure
启动
gitlab-ctl restart
默认登录
账号root,密码存放在/etc/gitlab/initial_root_password文件中

启动时,遇到GitLab is taking too much time to respond

  • 默认8080被端口占用,修改重启即可

    vi  /etc/gitlab/gitlab.rb
    
    puma['port'] = 8099 或者 unicorn['port']=8099
    gitlab_workhorse['auth_backend'] = "http://localhost:8099"
  • 加载配置并重启

    sudo gitlab-ctl reconfigure
    sudo gitlab-ctl restart

卸载

gitlab-ctl stop
rpm -e gitlab-ce # 看是gitlab-ce版本还是gitlab-ee版本
ps aux | grep gitlab
kill -9 17313 # 杀掉`runsvdir -P /opt/gitlab/service log`的进程
find / -name *gitlab*|xargs rm -rf
find / -name gitlab | xargs rm -rf
ls /root/gitlab*

备份

首先进行老Gitlab服务器全量备份,使用一条命令即可创建完整的Gitlab备份。

gitlab-rake gitlab:backup:create

迁移

​ 新服务器上的Gitlab的版本必须与创建备份时的Gitlab版本号相同. 比如新服务器安装的是最新的11.1.4版本的Gitlab, 那么迁移之前, 最好将老服务器的Gitlab 升级为11.1.4再进行备份。

获取备份数据

第一步,从远程服务器copy刚才的备份文件到了新服务器的/var/opt/gitlab/backups/ 备份目录下

root@centos backups]# pwd
/var/opt/gitlab/backups
[root@centos backups]# ll
total 554280
-rwxr-xr-x. 1 root root 567582720 Sep 7 11:01 1635815578_2021_11_02_10.0.0_gitlab_backup.tar
[root@centos backups]#
修改备份文件权限

第二步,将备份文件权限修改为777,避免恢复的时出现权限不够,不能解压的问题

chmod 777 1635815578_2021_11_02_10.0.0_gitlab_backup.tar
停止相关数据连接服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
从备份文件中恢复Gitlab数据

gitlab-rake gitlab:backup:restore BACKUP=备份文件编号

gitlab-rake gitlab:backup:restore BACKUP=1635815578_2021_11_02_10.0.0  # 注意是备份文件编号
重新刷新配置【否则无法登陆】
gitlab-ctl reconfigure
启动
gitlab-ctl restart

升级

10.0.0 --> 15.0

必须先升级小版本的最大版本,再升级更高的版本,依次递进。

升级之前先做备份

https://blog.csdn.net/jin0955/article/details/127013916

配置yum源

cat >/etc/yum.repos.d/gitlab-ce.repo<<EOF
[gitlab-ce]
name=gitlab-ce
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
repo_gpgcheck=0
gpgcheck=0
enable=1
gpgkey=https://packages.gitlab.com/gpg.key
EOF

升级不用停gitlab,注意不能跨大版本升级,只能逐级升

10.0.0->10.8.7->11.0.0->11.11.8->12.0.0->12.10.9->13.0.0->13.12.9->14.0.0->14.10.5->15.0.0->15.3.3

循环执行以下步骤

sudo yum install gitlab-ce-x.x.xxxx
sudo gitlab-ctl stop sidekiq; // 13.10之前
sudo gitlab-ctl stop unicorn;
// 13.10之后
sudo gitlab-ctl stop puma; sudo gitlab-ctl reconfigure;
sudo gitlab-ctl restart; //查看版本
cat /var/opt/gitlab/gitlab-rails/VERSION

Gitlab运维操作的更多相关文章

  1. Linux内存运维操作及常用命令

    Linux内存运维操作及常用命令 1.问题诊断 1.1 什么是 Linux 服务器 Load Average? 1.2如何查看 Linux 服务器负载? 1.3服务器负载高怎么办? 1.4如何查看服务 ...

  2. 2015年br运维操作归档

    归档2015年在br做运维时常用的命令,主要梳理出log的过滤操作. 对于日志文本的处理,常见还是sed和awk,具体如下: 统计ip访问量: cat nginx.log |awk '{print $ ...

  3. Redis 相关运维操作

    背景 Redis作为目前全球最流行的KV存储,除了使用之外,还需要做好日常的运维工作.关于运维相关的工作,本文从以下方面进行介绍说明(Redis5.0以上): 内存方面 客户端连接方面 工具方面 说明 ...

  4. WebLogic11g-常用运维操作

    转:http://www.codeweblog.com/weblogic11g-%e5%b8%b8%e7%94%a8%e8%bf%90%e7%bb%b4%e6%93%8d%e4%bd%9c/ 希望这篇 ...

  5. 深入浅出学习透析 Nginx 服务器的基本原理和配置指南「运维操作实战篇」

    Nginx前提回顾 Nginx 是一个高性能的 Web 和反向代理服务器, 它具有有很多非常优越的特性: Web服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效 ...

  6. 【redis使用全解析】常见运维操作

    作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1.1 启动 1.1.1 启动redis $ redis-server redis.conf 常见选项: ./r ...

  7. Linux bash运维操作日志审计(单服务器)

    目前公司有几台机器比较重要,需要把所有用户的操作记录下来,于是就是参照资料来完成 1. vim /etc/profile.d/oplogrc.sh logdir=/opt/oplog userdir= ...

  8. Hadoop运维操作

    1.      处理hadoop的namenode宕机 处理措施: 进入hadoop的bin目录,重启namenode服务 操作命令: cd path/to/hadoop/bin ./hadoop-d ...

  9. [Gitlab运维系列]Gitlab 403 forbidden 并发引起IP被封

    问题 带着团队使用Git,使用的是自搭建的Gitlab.但今天打开页面的时候显示的是空白页面,上面还有一次文本Forbidden. 原因 Gitlab使用rack_attack做了并发访问的限制. 解 ...

  10. Ceph分布式存储-运维操作笔记

    一.Ceph简单介绍1)OSDs: Ceph的OSD守护进程(OSD)存储数据,处理数据复制,恢复,回填,重新调整,并通过检查其它Ceph OSD守护程序作为一个心跳 向Ceph的监视器报告一些检测信 ...

随机推荐

  1. 推荐5款免费、开箱即用的Vue后台管理系统模板

    前言 在现今的软件开发领域,Vue凭借其高效.灵活和易于上手的特性,成为了前端开发的热门选择.对于需要快速搭建企业级后台管理系统的开发者而言,使用现成的Vue后台管理系统模板无疑是一个明智之举.本文大 ...

  2. 这才是java对象正解

    这才是 Java 对象正解 在深入讨论对象之前,让我们先明确对对象和实例的理解. 什么是对象? 对象(Object)是内存中分配的实际数据结构,它包含了数据和方法.在 Java 中,对象是类的一个实例 ...

  3. env 命令简介

    env 命令在 Unix 和 Unix-like 操作系统中,是用来运行一个指定的程序/命令,在执行时可以修改环境变量的一个工具.使用 env 可以启动任何指定的指令,并在这个指令的执行过程中设置或者 ...

  4. AI驱动的PlantUML:快速生成专业级UML类图和用例图

    承接前文关于如何运用 AI 工具生成时序图的内容[1],今天我们继续探讨 AI 驱动的 PlantUML:高效创建专业的 UML 类图与用例图. [1]: https://juejin.cn/post ...

  5. ArgoWorkflow教程(三)---使用 Artifacts 实现步骤间文件共享

    上一篇我们分析了 Workflow.WorkflowTemplate.template 之间的关系.本篇主要分析如何在 argo-workflow 中使用 S3 存储 artifact 实现步骤之间的 ...

  6. C语言指针进阶

    目录 字符指针 指针数组 数组指针 数组指针的定义 &数组名VS数组名 数组指针的使用 数组参数.指针参数 一维数组传参 二维数组传参 一级指针传参 二级指针传参 一级指针 二级指针 数组指针 ...

  7. 修改python打包后的窗体图标、任务栏图标、exe图标

    前言 我python开发的GUI界面(图形用户界面)一直是tkinter,打包exe一直是Pyinstaller.但是打包出来的exe图标.状态栏图标.窗体左上角图标一直是默认的羽毛,我想自定义. 效 ...

  8. TypeScript 高级教程 – TypeScript 类型体操 (第三篇)

    前言 在 第一部 – 把 TypeScript 当强类型语言使用 和 第二部 – 把 TypeScript 当编程语言使用 后, 我们几乎已经把 TypeScript 的招数学完了. 第三部就要开始做 ...

  9. Dart 2.14 版现已发布

    支持 Apple Silicon,增加了默认的 lint.更好的工具和新的语言功能提高生产力. 本月,我们发布了 Dart SDK 2.14 的正式版,新的版本旨在通过独特的可移植性.生产力和稳健性组 ...

  10. 系统编程-进程-vfork使用、浅析

    1. 先贴代码 #include <stdio.h> #include <stdlib.h> #include <unistd.h> int globvar = 6 ...