部署


安装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. Linux内核 自旋锁spin lock,教你如何用自旋锁让ubuntu死锁

    背景 由于在多处理器环境中某些资源的有限性,有时需要互斥访问(mutual exclusion),这时候就需要引入锁的概念,只有获取了锁的任务才能够对资源进行访问,由于多线程的核心是CPU的时间分片, ...

  2. sshpass 带密码登陆

    brew install hudochenkov/sshpass/sshpass sshpass -p password ssh -p port user@xxxx.xxxx.xxxx.xxxx

  3. Dapr v1.14 版本已发布

    Dapr是一套开源.可移植的事件驱动型运行时,允许开发人员轻松立足云端与边缘位置运行弹性.微服务.无状态以及有状态等应用程序类型.Dapr能够确保开发人员专注于编写业务逻辑,而不必分神于解决分布式系统 ...

  4. stm32f10x系列学习笔记(三)ADC

    ADC_SampleTime 用途:在ADC通道配置(ADC_RegularChannelConfig)需要传输的参数. 含义:指两个采样阶段之间的延迟周期数,该参数会影响ADC在采样过程中的性能和准 ...

  5. Element-UI 中使用rules验证

    第一种:写在data中进行验证 <el-form>:代表这是一个表单 <el-form> -> ref:表单被引用时的名称,标识 <el-form> -> ...

  6. 【测试平台开发】——07Vue前端框架实战——restful请求

    本节主要是前后端接口的调用,以及前端如何进行封装接口 一.创建相关文件 在文件夹下创建http.js.api.js.user.js 1)http.js封装接口: 在src下创建api文件夹 添加htt ...

  7. 使用 setenv 配置文件管理 Tomcat 的自定义环境变量

    1.背景描述 有时候,我们会在 catalina.bat 或 catalina.sh 文件中,自定义一些环境变量,例如额外指定 JDK 路径或设置 JVM 参数. 实际上,直接在 catalina.b ...

  8. Go plan9 汇编:手写汇编

    原创文章,欢迎转载,转载请注明出处,谢谢. 0. 前言 在 Go plan9 汇编: 打通应用到底层的任督二脉 一文中介绍了从应用程序到汇编指令的转换.本文将结合汇编和 Go 程序实现手写基本的汇编指 ...

  9. 省钱的开源项目「GitHub 热点速览」

    本期,我从上周的热门开源项目中挑选了 5 个既省钱又省事,还好玩的开源项目. 首先,推荐的是省钱的电动汽车智能充电管理平台 evcc,它可以根据分时电价智能安排电动车充电时间,从而降低电费,如果你家还 ...

  10. OData – 基础语法 Basic

    前言 有时候太久没有写真的会忘记,官网又太罗里吧嗦,还是写一篇帮助以后快速复习进入状况吧. Request URL: "/root/version/entities" OData ...