DOCKER_GUIDE.md
3.49 KB
Docker 配置指南
本文档说明如何使用Docker运行API自动化测试框架。
快速开始
构建镜像
# 使用docker-compose构建
docker-compose build
# 或使用docker构建
docker build -t api-test:latest .
运行容器
测试环境:
docker-compose run --rm -e DEPLOY_ENV=test api-test-runner
UAT环境:
docker-compose run --rm -e DEPLOY_ENV=uat api-test-runner
生产环境:
docker-compose run --rm -e DEPLOY_ENV=prod api-test-runner
查看报告
报告文件保存在 ./reports 目录:
ls -la reports/api_test_report_*.html
Docker命令
使用 docker-compose
# 运行指定环境的测试
DEPLOY_ENV=test docker-compose run --rm api-test-runner
# 后台运行
docker-compose up -d
# 查看日志
docker-compose logs -f api-test-runner
# 停止服务
docker-compose down
使用 docker 直接命令
# 构建镜像
docker build -t api-test:latest .
# 运行容器
docker run --rm -e DEPLOY_ENV=test api-test:latest
# 挂载卷
docker run --rm \
-e DEPLOY_ENV=test \
-v $(pwd)/reports:/app \
api-test:latest
# 交互式运行
docker run -it --rm \
-e DEPLOY_ENV=test \
-v $(pwd)/reports:/app \
api-test:latest /bin/bash
文件说明
Dockerfile
FROM python:3.8-slim # 基础镜像
WORKDIR /app # 工作目录
COPY . /app/ # 复制项目
RUN pip install -r requirements.txt # 安装依赖
ENV DEPLOY_ENV=test # 默认环境
CMD ["python3", "api_test.py"] # 执行命令
docker-compose.yml
关键配置:
- 自动环境变量传入
- 卷挂载:输入Excel、输出报告
- 资源限制:1核CPU、512MB内存
- 日志配置:json-file驱动
.dockerignore
排除不必要文件,减小镜像体积
环境变量
支持的环境变量
| 变量 | 说明 | 默认值 |
|---|---|---|
DEPLOY_ENV |
执行环境 | test |
IP_HOST |
覆盖IP地址 | 不设置 |
PYTHONUNBUFFERED |
禁用缓冲 | 1 |
设置方式
命令行:
docker-compose run --rm -e DEPLOY_ENV=test api-test-runner
.env 文件:
DEPLOY_ENV=test
IP_HOST=ai-test.hikoon.com
与 Jenkins 集成
Jenkinsfile 中的 Docker 配置
stage('构建镜像') {
steps {
sh 'docker build -t api-test:${BUILD_NUMBER} .'
}
}
stage('执行测试') {
steps {
sh '''
docker run --rm \
-e DEPLOY_ENV=${DEPLOY_ENV} \
-v ${WORKSPACE}/reports:/app \
api-test:${BUILD_NUMBER}
'''
}
}
post {
always {
sh 'docker rmi api-test:${BUILD_NUMBER}'
}
}
常见问题
Q1: 容器报错找不到api_cases.xlsx
docker run -v $(pwd)/api_cases.xlsx:/app/api_cases.xlsx:ro api-test:latest
Q2: 报告文件生成在容器内无法访问
docker run -v $(pwd)/reports:/app api-test:latest
Q3: 环境变量未传入
# 正确
docker run -e DEPLOY_ENV=test api-test:latest
# 错误
docker run api-test:latest -e DEPLOY_ENV=test
Q4: 镜像体积过大
使用 .dockerignore 排除不必要文件
获取帮助
- Docker官方文档:https://docs.docker.com/
- docker-compose:https://docs.docker.com/compose/
- Jenkins Docker:https://www.jenkins.io/doc/book/installing/docker/
Docker配置完成!