首页 > 系统相关 >在CentOS8中安装gitlab

在CentOS8中安装gitlab

时间:2022-12-21 08:44:54浏览次数:81  
标签:tar com gitlab proxy docker 安装 dir CentOS8

安装 docker 及 docker-compose

centos8 更新源

cd /etc/yum.repos.d/
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

gitlab 服务器 IP:192.168.0.666,端口 80

安装 docker

### CentOS8 默认是会读取centos.org的mirrorlist的,所以一般来说是不需要配置镜像的。
 (Refer to: https://www.linuxidc.com/Linux/2019-10/161212.htm)

# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# step 2: 更新 container.io 包, 否则可能会报 `package docker-ce-3:19.03.13-3.el7.x86_64 requires containerd.io >= 1.2.2-3, ...`的错
# 可在 https://mirrors.aliyun.com/docker-ce/linux/centos/8/x86_64/stable/Packages/ 下找最新版安装
sudo dnf install -y --allowerasing https://mirrors.aliyun.com/docker-ce/linux/centos/8/x86_64/stable/Packages/containerd.io-1.6.6-3.1.el8.x86_64.rpm
# Step 3: 安装Docker-CE
sudo yum install -y docker-ce

# Step 4: 开启Docker服务并设置开机自启
sudo systemctl start docker && sudo systemctl enable docker

# 测试, 如输出版本号则安装成功
docker version

docker 安装参考:https://www.jianshu.com/p/18c1abe97b2a

配置 gitlab

docker-compose.yml

version: '2'
services:
    gitlab:
      image: 'gitlab/gitlab-ce'
      container_name: "gitlab"
      restart: unless-stopped
      privileged: true
      hostname: 'gitlab.xxxx.com'
      environment:
        TZ: 'Asia/Shanghai'
        GITLAB_OMNIBUS_CONFIG: |
          external_url 'http://gitlab.xxxx.com'
          gitlab_rails['time_zone'] = 'Asia/Shanghai'
      ports:
        - '80:80'
      volumes:
        - /app/gitlab/config:/etc/gitlab
        - /app/gitlab/data:/var/opt/gitlab
        - /app/gitlab/logs:/var/log/gitlab

运行: docker-compose up -d

配置 nginx 指向 gitlab 服务

	server {
		server_name  gitlab.xxxx.com;
		listen 80;
		keepalive_timeout 70;
		location / {
				proxy_pass_header Server;
				proxy_redirect off;
				set $outhost "gitlab.xxxx.com";
		    proxy_set_header Host $outhost;
				proxy_pass http://192.168.0.666:80;
				proxy_set_header x-Forwarded-For $proxy_add_x_forwarded_for;
				proxy_http_version   1.1;
				proxy_set_header   Upgrade $http_upgrade;
				proxy_set_header Connection $http_connection;
		}
	}

重置 gitlab 账号密码,无法发送邮件

docker exec -it gitlab gitlab-rails console
user = User.where(username:"xxxx").first
user.password="aabb12223"
user.save!

备份

将备份脚本放到 /app/gitlab/data 目录中

#获取当前系统时间
date=`date +%Y_%m_%d`
#临时备份目录
out_dir='/var/opt/gitlab/backups/'
#备份存放路径
tar_dir='/var/opt/gitlab/bak_tar/'

#DAYS=15代表删除15天前的备份,即只保留近15天的备份
days='15'
tar_bak=$date'.tar.gz'

mkdir -p $tar_dir

cd $out_dir

rm -rf $out_dir*
#备份数据
gitlab-rake gitlab:backup:create
#最终保存的数据库备份文件
bakfile=$(ls -lt $out_dir | grep tar | head -n 1 |awk '{print $9}')

cd $out_dir
#压缩为.tar.gz格式
tar -zcvPf  $tar_dir$tar_bak $bakfile

#删除15天前的备份文件
find $tar_dir -mtime +$days -delete
rm -rf $out_dir*
exit

执行备份:docker exec -i gitlab /bin/bash -c 'sh /var/opt/gitlab/gitlab_bak_data.sh'
将备份文件复制到本地目录,并删除历史 10 天前的文件

echo 'bak gitlab'
scp -r [email protected]:/app/gitlab/data/bak_tar/ /d/gitlab/
./find.exe /d/gitlab/bak/ -mtime +10 -delete
echo

gitlab 备份还原参考:https://juejin.cn/post/7031027881484484644

标签:tar,com,gitlab,proxy,docker,安装,dir,CentOS8
From: https://www.cnblogs.com/morang/p/16994259.html

相关文章

  • 同时安装一个Python包的两个版本
     有的包在升级后函数和API就完全变了,甚至删除了一切原来的功能函数,这导致后面分析数据非常的畸形。但没办法,接下了这样的项目,含着泪也得做出点东西出来,于是我就想同时把......
  • docker安装elasticsearch与kibana
    docker安装es与kibanadocker-compose.ymlversion:'2.2'services:kibana:image:docker.elastic.co/kibana/kibana:7.17.8container_name:kibana7en......
  • Docker安装FISCO BCOS区块链平台
    2.0版本提供docker镜像,支持容器化部署,省去了很多编译安装过程遇到的各种问题。FISCOBCOS官方镜像docker地址:https://hub.docker.com/r/fiscoorg/fiscobcos/builds  我......
  • [翻译]写给初学者的源代码安装指南Beginner's Guide to Installing from Source
    写给初学者的源代码安装指南引入本文档面向希望直接从原始作者处安装软件的开源操作系统用户,而不是仅依赖其操作系统提供的软件(和版本)。它是为那些不熟悉以源代码形式下......
  • Linux软件安装包中devel与非devel包之间的区别
    带devel(develop)的包,俗称开发包。功能上与普通包相同,但体积更大使用rpm-qi看看这两类包的区别:#rpm-qiglibc-devel-2.12-1.149.el6.x86_64Name:glibc-devel......
  • Linux下如何安装MySQL?
    目标主机:centos8MySQL安装所有平台的MySQL下载地址为:https://dev.mysql.com/downloads/repo/yum/。挑选你需要的MySQLCommunityServer版本及对应的平台。注意:安......
  • Windows环境下安装和配置WNMP的Memcached
    PHP开发不是我最擅长的服务端语言,但是因为接触WordPress很早,了解到一个叫做 ​​WPJam​​​ - https://blog.wpjam.com/article/wordpress-memcached/ 的插件,后来他更......
  • 安装istio和部署bookinfo项目
    一istio安装1.1下载安装​​https://istio.io/latest/docs/setup/getting-started/​​安装前提:你的服务器必须可以连接外网需要下载谷歌镜像#下载cd/usr/local/curl......
  • 如何使用Yum History查找已安装或已删除的软件包信息
    Yum是RHEL/CentOS的一个基于rpm的交互式高级包管理器,用户可以用它来安装新的软件包、卸载或清除旧的/不需要的软件包。它可以自动运行系统更新,并执行依赖分析,对已安装......
  • 编译安装nmon
    nmon是什么?nmon(Nigel'sperformanceMonitorforLinux)是一种Linux性能监视工具,当前它支持Power/x86/x86_64/Mainframe/ARM这五种CPU架构的Linux,能将监控到的数据保......