测试环境搭建流程

测试环境搭建流程
踱鸽&水晶蟹测试环境搭建流程
背景: 基于CentOS7.6, 部署一套SpringCloud开发的微服务,默认各种基础资源和中间件(GItLab,minio, Mysql,redis, rabbitMQ)已经存在
使用脚本 初始化 宿主机
.sh os7init.sh <服务器名字>
0,基础准备
MySQL容器启动:
注意自定义配置文件 /home/mydata/mysql/conf/my.cnf
[mysqld]
max_connections=1000
sql-mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
|
Redis容器启动:
|
minio文件服务器:
|
nacos:
|
1,宿主机环境安装
下载可以从官网或者华为云镜像下载,包放置服务器/home目录
下载openJDK11 ,Maven3.6.3 NodeJs14.18.1
解压(解压后文件可以改名,如果改了名,后面路径记得修改)
tar -zxvf openjdk-11.0.2_linux-x64_bin.tar.gz
tar -zxvf apache-maven-3.6.3-bin.tar.gz
tar -zxvf node-v14.18.1-linux-x64.tar.gz
修改环境变量(环境变量是可以在全局使用bin下面的命令,可以也用软连接方式做)
添加进系统环境变量
vim /etc/profile文件内容追加
# java
export JAVA_HOME=/home/jdk-11.0.2
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH
# maven
export MAVEN_HOME=/home/apache-maven-3.6.3
export PATH=$PATH:$MAVEN_HOME/bin
# nodejs
export NODEJS=/home/node-v14.18.1
export PATH=$NODEJS/bin:$PATH环境变量生效
source /etc/profile
2, 安装Docker环境
安装yum-utils:
yum install -y yum-utils device-mapper-persistent-data lvm2为yum源添加docker仓库位置:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo安装docker:
yum install docker-ce启动docker:
systemctl start docker
2.1, 修改docker安装路径
停掉Docker服务:
|
根据上面查到的路径,移动整个/var/lib/docker目录到数据盘的目的路径):
|
修改配置默认路径
在EXECStart后面添加--data-root=/home/docker
|
刷新配置,重启docker
|
查看docker数据存储目录
|
docker images 确认之前的镜像是否还在
通过上述方法完成迁移之后,在确认 Docker 能正常工作之后,删除原目录数据:
|
3,安装jenkins
本机安装jenkins 以便于实现CI/CD,打包仓库隔离,jenkins部署在docker中,不在容器内额外安装过多环境,可以挂载宿主机的 jdk maven nodejs等, 可以使用命令软连接,包装shell中可以执行命令
|
建立软连接
ln -s /usr/local/jdk/bin/* /usr/local/bin/
ln -s /usr/local/maven/bin/* /usr/local/bin/
ln -s /usr/local/node/bin/* /usr/local/bin/node如果配置私服,需要添加认证信息 vi ~/.npmrc
docker容器内如果没有vim命令 可以 自行安装
apt update
apt install vim
jenkins 部署完毕,初始化及使用方式配置过程,可以参考另外的笔记 https://duo-ge.gitee.io/p/jenkins/。
注意:初始化插件检测失败时可以后续手动安装必须插件,安装前进入配置页替换插件升级站点:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
4,部署nacos (如果和其他环境共用nacos,可以不装)
docker部署nacos,配置参数变量,单节点,指定mysql做配置数据持久化
数据库备份 cby_config.sql
|
5,Nginx安装(按需而定)
下载Nginx的docker镜像:
docker pull nginx先运行一次容器(为了拷贝配置文件):
docker run -p 80:80 --name nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx \
-d nginx将容器内的配置文件拷贝到指定目录:
docker container cp nginx:/etc/nginx /mydata/nginx/修改文件名称:
cd /mydata/nginx
mv nginx conf终止并删除容器:
docker stop nginx
docker rm nginx使用如下命令启动Nginx服务:
docker run -p 80:80 -p 443:443 -p 8080:8080 --name nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx \
-v /mydata/nginx/conf:/etc/nginx \
-d nginx
最终运行命令的端口映射根据需要增加,端口没有映射到宿主机,增加了配置文件也无法从外部访问
Docker部署这个nginx 这里基本是为了实现反向代理
所以补充配置文件在 /mydata/nginx/conf/conf.d里面就可以了, 案例如下:
|
限制docker容器内存上限
1 启动容器时限制容器内存
|
2 限制已启动容器的内存
|
备注:命令详解
–memory 或 -m 限制容器的内存使用量(如10m,200m等)
–memory-swap # 限制内存和 Swap 的总和,不设置的话默认为–memory的两倍如果只指定了 –memory 则 –memory-swap 默认为 –memory 的两倍
如果 –memory-swap 和 –memory 设置了相同值,则表示不使用 Swap
如果 –memory-swap 设置为 -1 则表示不对容器使用的 Swap 进行限制
如果设置了 –memory-swap 参数,则必须设置 –memory 参数
后期 update –memory 时数值不能超过 –memory-swap 的值,否则会报错 Memory limit should be smaller than already set memoryswap limit






