Gitlab架构设计
方案一:SaaS方案
依赖资源:
- PostgreSQL: 阿里云SAAS服务高可用版2c4g/100G
- Redis:阿里云SAAS服务高可用版2G
- 代码存储:阿里云NAS盘500G
GitLab服务架构:
- 2*4c8g
- 1*SLB(复用官网SLB)
- n*GitlabRunner
备份方案
PostgreSQL通过阿里云备份功能每天备份一次
代码仓库备份:通过NAS快照功能每天备份一次
容灾方案
Gitlab本身属于无状态应用,可通过数据库和仓库数据开新的节点进行恢复
方案二:自建方案
依赖资源:
- PostgreSQL: 阿里云2*2c4g ECS / 300G ESSD数据盘
- Redis: 阿里云1c2g*2 ECS
- 代码存储:阿里去NAS盘500G
GitLab服务架构:
- 2*4c8g+2*2c4g+2*1c2g
- 1*SLB
- n*GitlabRunner
部署方案
- Postgresq通过Kubegres部署1*primary+2*replica集群
- redis通过redis operator部署1*master+2*slave集群
备份方案
- PostgreSQL通过Kubegres的backup功能每天备份一次
- 代码仓库备份:通过NAS快照功能每天备份一次
----------------------------------------------------------------------
JAVA流水线模板
YAML
stages:
- test
- lint
- static-check
- build
- deploy
- upload
default:
image: node:13-alpine3.12
cache:
paths:
- node_modules/
test:
stage: test
script:
- test
static-check:
stage: test
script:
- check
lint:
stage: lint
script:
- npm run x
- npm run x
build:
stage: build
script:
- npm install
- npm run build
artifacts:
paths:
- dist
only:
- master
upload:
stage: upload
only:
- master
script:
- npm run
--------------------------------------------------------------------------
docker卸载重装- centos
1. 卸载原有Docker版本
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
2. 安装必要的依赖包
CentOS/RedHat
sudo yum install yum-utils device-mapper-persistent-data lvm2
3. 安装Docker CE
CentOS/RedHat
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io --allowerasing
4. 启动Docker并测试
sudo systemctl start docker
sudo docker run hello-world
---------------centos7安装docker参照
手工部署Docker(CentOS 7.5)_弹性云服务器 ECS_最佳实践
-----------------------------------------------------------------------------
华为欧拉搭建docker
#下载docker包
wget https://download.docker.com/linux/static/stable/x86_64/docker-18.09.9.tgz
#解压
tar zxf docker-18.09.9.tgz
#移动解压后的文件夹到/usr/bin
mv docker/* /usr/bin
#写入docker.service
cat >/usr/lib/systemd/system/docker.service <<EOF
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
EOF
#启动docker
systemctl start docker
#设置开机自启动
systemctl enable docker
#查看docker版本
docker version
#运行hello-world
#docker run hello-world
-----------------------------------------------------------------------------------------------------
安装docker及docker-compose
一,安装docker
- 更新yum源:
sudo yum update
- 添加Docker的yum源:
sudo yum install -y yum-utils
- 设置Docker的yum源:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- 安装Docker:
sudo yum install docker-ce docker-ce-cli containerd.io
- 启动Docker并设置开机启动:
sudo systemctl start docker && sudo systemctl enable docker
二,安装docker-compose
1,sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
2,sudo chmod +x /usr/local/bin/docker-compose
3,docker-compose --version