docker-compose + mysql + java+ newman
docker-compose 启动 mysql 容器并初始化数据,部署springboot项目,执行newman接口测试
所有文件放在同一路径下:
at_collection.json , at_environment.json , import.sql , docker-compose.ym , wait-for-postgres.sh , at.Dockerfile
文章目录
docker-compose.yml
version: '3'
services:
DOCKER.MYSQL:
image: mysql:8
container_name: DOCKER.MYSQL
expose:
- 3306
restart: always
volumes:
- ./import.sql:/docker-entrypoint-initdb.d/import.sql
environment:
MYSQL_ROOT_PASSWORD: xxxxxx
command: [
'--character-set-server=utf8mb4',
'--collation-server=utf8mb4_unicode_ci',
'--default-authentication-plugin=mysql_native_password'
]
DOCKER.AT:
image: at:v3 //自备镜像
container_name: DOCKER.AT
expose:
- 8082
restart: on-failure
links:
- DOCKER.MYSQL
depends_on:
- DOCKER.MYSQL
NEWMAN:
image: dannydainton/htmlextra //可以使用官方镜像postman/newman:4代替
container_name: NEWMAN
depends_on:
- DOCKER.AT
links:
- DOCKER.AT
environment:
SLEEP_SECOND: 20
volumes:
- ./wait-for-postgres.sh:/wait-for-postgres.sh
- ./:/etc/newman
entrypoint: sh /wait-for-postgres.sh -d DOCKER.AT:8082 -c 'newman run at_collection.json -e at_environment.json -r htmlextra --reporter-htmlextra-export newman/report.html'
import.sql
使用navicat转储数据库为sql文件后,在文件头添加
-- 解决乱码问题
SET NAMES 'utf8'
//at_docker换成项目数据库
CREATE DATABASE 'at_docker'