我正致力于创建一个自动化的单元测试系统,该系统将利用docker测试用Python编写的单个学生作业,对照单个单元测试文件.
我创建了一个网站,学生可以上传他们的作业,但我有点不确定如何通过Docker工作实现自动化.
工作流程看起来像这样:
所以,假设我有二十名学生上传.py文件,这些文件被命名为他们唯一的学生编号,我可以:
有人能指出我正确的方向来开始这种自动化吗?我真的只是在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"]
Run Code Online (Sandbox Code Playgroud)
现在,您必须使用构建此图像docker build -t student_test ..
要启动脚本并获取输出,您可以使用:
docker run --volume /path/to/s12345.py:/student.py student_test > student_results_12345.txt`.
Run Code Online (Sandbox Code Playgroud)
--volume需要该参数,以将学生脚本装载到定义的装入点.此外,您可以一次启动多个容器.
所有路径都与当前工作目录相关.
| 归档时间: |
|
| 查看次数: |
4972 次 |
| 最近记录: |