自动化规则测试环境,使用python2编写,依赖于redis-py-cluster,pykafka,futures,mysql-python。在本地搭建测试环境,python安装 没有出现问题,但是在安装python插件时,遇到问题较多,解决花费时间较长,且未能完全解决,导致测试环境迟迟不能运行。所以决定采用docker来 搭建测试环境。
以下为搭建环境的步骤
RUN yum -y update RUN yum -y install epel-release RUN yum -y install python-pip RUN yum -y install mysql-devel RUN yum -y install python-devel RUN yum -y install MySQL-python RUN pip install –upgrade pip RUN pip install pykafka RUN pip install mysql RUN pip install redis-py-cluster RUN pip install futures
build 基本镜像,执行命令
docker build py_auto:v1 .
创建Dockerfile
mkdir v2 && cd v2 && vi Dockerfile ``` * 从oracle下载linux-jdk8到当前目录 * 在Dockerfile中输入如下命令 ``` FROM py_auto_base:v2 MAINTAINER Augustus "qianwx@asiainfo.com"
ADD ./jdk-8u151-linux-x64.rpm /opt/ RUN rpm -ivh /opt/jdk-8u151-linux-x64.rpm RUN rm -f /opt/jdk-8u151-linux-x64.rpm
执行如下命令
docker build py_auto:v2 .
在项目目录下创建Dockerfile
在Dickerfile中输入如下命令
FROM py_auto_base:v2 MAINTAINER Augustus “qianwx@asiainfo.com”
RUN mkdir /py_auto VOLUME [“/py_auto”]
CMD [“/bin/bash”]
运行命令
docker build auto_test:v1 .
如果上面一切顺利,那我们这边已经成功构建了auto_test:v1镜像。下面我们来启动镜像并运行测试环境。
启动镜像
docker run -v /Users/augustus/asiawork/pytest/py-autotest-frame:/py_auto –name auto_test -d -it auto_test:v1
运行测试
docker exec auto_test python /py_auto/pyautotestframe/pyautotestframe.py -m sample-test
这样成功运行了测试实例。
采用docker,快速的搭建了测试环境,在新增人员的情况下,可以节省不少时间在环境搭建上。就是对于开发 者也可以避免很多搭建环境的问题。
本示例采用的是每次一执行,所以使用docker exec,在有些情况下,需要启动镜像便运行环境的时候,可以 在Dockerfile中使用ENTRTPOINT来以使镜像启动便运行。