【发布时间】:2021-07-12 00:31:39
【问题描述】:
-
有时我们在编写 docker 文件时会出错。如果 Dockerfile 有错误,docker build 会失败。
-
有时我们可能会忘记在 Dockerfile 中指定依赖项。举个例子吧。
假设,我有一个 Python 脚本,可以截取任何网页(提供其 URL)的屏幕截图。
- 现在,在我的代码中,我使用的是 pyppeeteer(无头 chrome/chromium 自动化库(puppeteer 的非官方端口)
- pyppeeteer 使用铬和铬驱动程序。这些已经安装在我的机器上。因此,运行
pytest将通过我的本地开发环境。 - 我忘记在 dockerfile 中指定
RUN命令,这将安装 chromium 和 chrome 驱动程序。因此在容器内运行测试将失败。 (尽管docker build会成功。)
我想自动化构建 docker 镜像和在容器中运行测试的任务。
在本地机器上,我可以运行docker build -t myproj .来构建。
为了测试,我可以运行 docker run -it myproj pytest(如果我忘记添加安装 chromium 和 chromedriver 的 RUN,那么我的 pytest 将在容器内失败)
我希望我能够解释我的目的。
通常,在github操作中,python源代码可以在ubuntu、mac、windows等上运行。 除了不同的操作系统,我还想构建和测试我的 dockerfile。
【问题讨论】:
标签: python docker testing github-actions