Docker-Gitlab安装部署

3 篇文章 0 订阅
2 篇文章 0 订阅

一、前言

GitLab 是 Ruby 开发的自托管的 Git 项目仓库,可通过Web界面进行访问公开的或者私人项目。
本文将演示gitlab的安装过程。

二、安装

1.docker安装

(1)前言:

这里演示centos7的安装教程,更多系统安装方式请点击安装 Docker

(2)安装:

1)卸载旧版本docker:

yum remove docker \
              docker-client \
              docker-client-latest \
              docker-common \
              docker-latest \
              docker-latest-logrotate \
              docker-logrotate \
              docker-selinux \
              docker-engine-selinux \
              docker-engine

2)使用yum安装

yum install -y yum-utils

3)添加yum软件源

yum-config-manager \
	--add-repo \
	https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

sudo sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo

 #官方源
yum-config-manager \
	--add-repo \
	https://download.docker.com/linux/centos/docker-ce.repo

4)安装docker

yum install docker-ce docker-ce-cli containerd.io

5)启动docker

systemctl enable docker
systemctl start docke

2.docker-composer安装

(1)前言:

这里演示二进制包的方式安装,更多安装方式点击docker-composer安装

(2)安装命令:

curl -L https://github.com/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

# 国内用户可以使用以下方式加快下载
curl -L https://download.fastgit.org/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

3.修改服务器的sshd访问端口

(1)前言:

由于gitlab需要用到22端口,如果服务器的ssh访问端口不是22则跳过此步。

(2)修改步骤

1)修改sshd配置
 vi /etc/ssh/sshd_config

找到Port,去掉前面的#,修改端口,这里我修改成22200
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bSXoxNyQ-1618475371607)(https://lexiangla.com/assets/16c25f789dbf11eb86a8d640dad99da4)]
重启ssh服务

systemctl ssh restart
2)修改防火墙配置

打开防火墙配置

vi /etc/sysconfig/iptables

如果iptables文件不存在则安装防火墙

yum install iptables-services

增加22200端口,顺便增加gitlab所需的端口80,443,22

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22200 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

重启防火墙

systemctl restart iptables

设置防火墙为开机启动项

systemctl enable iptables

4.gitlab安装准备

新建docker-composer.yml文件

version: '2'
services:
gitlab:
  image: 'docker.io/gitlab/gitlab-ce:13.1.11-ce.0' #gitlab版本
  restart: unless-stopped
  privileged: true
  cpuset: 0,1,2,3
  mem_limit: 5g
  dns:
    - 114.114.114.114
    - 1.2.4.8
  hostname: 'gitlab.***.com' #换上自己的域名
  environment:
    TZ: 'Asia/Shanghai'
    GITLAB_OMNIBUS_CONFIG: |
      external_url 'https://gitlab.***.com' #换上自己的域名,没有域名证书使用http
      gitlab_rails['time_zone'] = 'Asia/Shanghai'
  ports:
    - '80:80'
    - '443:443'
    - '22:22'
  volumes:
    - ./config:/etc/gitlab
    - ./data:/var/opt/gitlab
    - ./logs:/var/log/gitlab

更多gitlab发行版查看gitlab发行版

5.gitlab安装

在docker-composer.yml所在目录下运行

/usr/local/bin/docker-compose up

等待gitlab安装完成即可,web访问你配置的域名https://gitlab.***.com

域名需解析到你安装的服务器上,没有域名的,可配置host指向你的服务器访问。

6.备份

进入docker-gitlab容器:

docker exec -it gitlab_gitlab_1 /bin/bash

运行备份命令:

gitlab-rake gitlab:backup:create

使用以上命令会在/var/opt/gitlab/backups目录下创建一个名称类似为1530156812_2018_06_28_10.8.4_gitlab_backup.tar的压缩包

7.迁移/还原

(1)前言

迁移需安装同版本的gitlab。

(2)迁移步骤

1)复制备份压缩包至新服务器gitlab容器的/var/opt/gitlab/backups目录下

远程复制命令:

scp /var/opt/gitlab/backups/1530156812_2018_06_28_10.8.4_gitlab_backup.tar root@10.0.0.6:/var/opt/gitlab/backups/
2)还原

停止相关服务

gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

还原命令:可以不用输入压缩包文件名后面的 “_gitlab_backup.tar”

gitlab-rake gitlab:backup:restore BACKUP=1530156812_2018_06_28_10.8.4

启动gitlab服务

gitlab-ctl start

8.升级

(1)前言

升级存在一定风险,请务必先进行备份,升级无需停机

(2)说明

gitlab升级不可跨大版本升级,需分次升级,具体升级版本路径可查看gitlab升级

(3)升级步骤

修改docker-composer.yml文件的 gitlab->image到对应的版本,执行

/usr/local/bin/docker-compose up

跨大版本根据gitlab升级路径,分次修改对应版本重复升级即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值