安装 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 root@192.168.0.666:/app/gitlab/data/bak_tar/ /d/gitlab/
./find.exe /d/gitlab/bak/ -mtime +10 -delete
echo

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

在CentOS8中安装gitlab的更多相关文章

  1. Centos中安装gitlab

    安装依赖: sudo yum install curl openssh-server openssh-clients postfix cronie sudo service postfix start ...

  2. linux中安装gitlab和cicd(断网版)

    1:先介绍一下怎么查找所需要的依赖包 #yum install rpmname--downloadonly --downloaddir=/rpmpath 例如:yum install gitlab-r ...

  3. CentOS8中安装maven

    下载maven,具体目录可根据实际情况而定 # wget http://mirrors.cnnic.cn/apache/maven/maven-3/3.3.9/binaries/apache-mave ...

  4. Centos8中安装JDK1.8

    在这里是通过yum命令进行安装的 安装前检查是否安装了jdk # java -version 如果使用 yum 安装的 jdk,请使用下面命令卸载 yum -y remove java-1.8.0-o ...

  5. CentOS8.1中搭建Gitlab服务器

    依旧是写在前面的话♠:很多IT人从业N年也许都还没有亲自搭过一次Gitlab服务器,是不是?有木有?!通常都是背着自己的笔记电脑到一家公司入职,或入职后领到公司分配的电脑,然后分配了Git账号,拿了将 ...

  6. centos8中的MySQL卸载和安装

    centos8中的MySQL卸载和安装 前言 前几天在自己的服务器上安装了一个NDB集群[而且还没有成功] 放弃治疗后用一台没有mysql的服务器实现了单机版本的集群. 本来以为这事到这就结束了,结果 ...

  7. CentOS安装gitlab,gerrit,jenkins并配置ci流程

    CentOS安装gitlab,gerrit,jenkins并配置ci流程 By Wenbin juandx@163.com 2016/4/9 这是我参考了网上很多的文档,配置了这三个软件在一个机器上, ...

  8. CentOS安装gitLab服务器

    首先利用gitlab-install-el6.sh安装,比较简单: (出处:http://www.linuxidc.com/Linux/2013-06/85754.htm) 1:如果有条件,提供一台全 ...

  9. Mac安装GitLab CE记录

    0 REF REF1 原始的GitLab Documentation REF2 Installation-guide-for-GitLab-on-OS-X REF3 如何在Mac 终端升级ruby版本 ...

  10. Docker安装Gitlab

    一.Ubuntu16.4上Docker安装Gitlab 1.安装docker 参见:https://docs.docker.com/engine/installation/linux/ubuntuli ...

随机推荐

  1. Redis核心设计原理(深入底层C源码)

    Redis 基本特性 1. 非关系型的键值对数据库,可以根据键以O(1) 的时间复杂度取出或插入关联值 2. Redis 的数据是存在内存中的 3. 键值对中键的类型可以是字符串,整型,浮点型等,且键 ...

  2. ETL工具Datax、sqoop、kettle 的区别

    一.Sqoop主要特点: 1.可以将关系型数据库中的数据导入到hdfs,hive,hbase等hadoop组件中,也可以将hadoop组件中的数据导入到关系型数据库中: 2.sqoop在导入导出数据时 ...

  3. 齐博x1非正常修改后台入口admin.php导致的问题

    如果你不是从后台基础设置修改后台入口admin.php文件名的话,也即强行通过FTP修改admin.php文件的名的话,就会导致网站会运行异常 比如会出现不能上传文件之类的.如下图所示

  4. Codeforces Round #830 (Div. 2) A-D

    比赛链接 A 题解 知识点:贪心,数论. 先求出序列最大公约数 \(d\) ,如果为 \(1\) 直接输出 \(0\) . 否则,尝试用最后一个数操作, \(gcd(d,n) = 1\) 则可以,花费 ...

  5. js数组去重,id相同对某值相加合并

    js数组去重,id相同对某值相加合并 案例1: 假设需要处理的数组结构. let arr =[ {id:'1', value:10}, {id:'1', value:20}, {id:'2', val ...

  6. python常用库总结

    图片处理相关 # opencvy pip install opencv-python pip install opencv-contrib-python pip install matplotlib ...

  7. Redis系列10:HyperLogLog实现海量数据基数统计

    Redis系列1:深刻理解高性能Redis的本质 Redis系列2:数据持久化提高可用性 Redis系列3:高可用之主从架构 Redis系列4:高可用之Sentinel(哨兵模式) Redis系列5: ...

  8. JAVA-注解之 TODO、FIXME、XXX

    TODO.FIXME.XXX    //TODO : 表示待实现的功能    //FIXME: 代码存在Bug,不能Run或运行结果不正确,需要修复    //XXX  : 勉强可以工作,但是实现的方 ...

  9. OpenFeign

    OpenFeign-服务间的调用 一.什么是Feign和OpenFeign? 在使用Feign或者OpenFeign前,服务之间的调用路径在函数内部设置: 能不能像controller调用servic ...

  10. IIS 配置集中式证书模块实现网站自动绑定证书文件

    在 Windows 环境下如果采用 IIS 作为 网站服务器时,常规的网站绑定 HTTPS 需要一个一个站点手动选择对应的证书绑定,而且证书过期之后更换证书时也是需要一个个重新绑定操作,无法便捷的做到 ...