我正致力于创建一个自动化的单元测试系统,该系统将利用docker测试用
Python编写的单个学生作业,对照单个单元测试文件.
我创建了一个网站,学生可以上传他们的作业,但我有点不确定如何通过Docker工作实现自动化.
工作流程看起来像这样:
>学生上传作业标记
>这被复制到包含docker的Linux主机
>文件在等待测试时就在这里
所以,假设我有二十名学生上传.py文件,这些文件被命名为他们唯一的学生编号,我可以:
>创建一个运行Ubuntu和Python的Docker容器
>将学生文件和单元测试复制到此容器中
>运行单元测试
>将结果输出为文本文件
>将此文本文件复制回我的网络服务器以显示结果
有人能指出我正确的方向来开始这种自动化吗?我真的只是在Docker方面的一些帮助之后,而不是将文件从我的网络服务器复制到Docker主机.
谢谢.
是的,可以使用Docker.
Dockerfile看起来像这样:
FROM ubuntu
MAINTAINER xxx
# 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 m