当前位置 : 主页 > 网络安全 > 测试自动化 >

自动化 – 自动创建docker容器并启动python脚本

来源:互联网 收集:自由互联 发布时间:2021-06-19
我正致力于创建一个自动化的单元测试系统,该系统将利用docker测试用 Python编写的单个学生作业,对照单个单元测试文件. 我创建了一个网站,学生可以上传他们的作业,但我有点不确定如何
我正致力于创建一个自动化的单元测试系统,该系统将利用docker测试用 Python编写的单个学生作业,对照单个单元测试文件.

我创建了一个网站,学生可以上传他们的作业,但我有点不确定如何通过Docker工作实现自动化.

工作流程看起来像这样:

>学生上传作业标记
>这被复制到包含docker的linux主机
>文件在等待测试时就在这里

所以,假设我有二十名学生上传.py文件,这些文件被命名为他们唯一的学生编号,我可以:

>创建一个运行Ubuntu和Python的Docker容器
>将学生文件和单元测试复制到此容器中
>运行单元测试
>将结果输出为文本文件
>将此文本文件复制回我的网络服务器以显示结果

有人能指出我正确的方向来开始这种自动化吗?我真的只是在Docker方面的一些帮助之后,而不是将文件从我的网络服务器复制到Docker主机.

谢谢.

是的,可以使用Docker.

Dockerfile看起来像这样:

FROM ubuntu
MAINTAINER xxx <user@example.org>

# update ubuntu repository
RUN DEBIAN_FRONTEND=noninteractive apt-get -y update

# install ubuntu packages
RUN DEBIAN_FRONTEND=noninteractive apt-get -y install python python-pip

# install python requirements
RUN pip install ...

# define a mount point
VOLUME /student.py

# define command for this image
CMD ["python","/student.py"]

现在,您必须使用docker build -t student_test构建此映像.

要启动脚本并获取输出,您可以使用:

docker run --volume /path/to/s12345.py:/student.py student_test > student_results_12345.txt`.

需要–volume参数,以将学生脚本装载到定义的装入点.此外,您可以一次启动多个容器.

所有路径都与当前工作目录相关.

网友评论