【发布时间】:2020-02-11 11:15:33
【问题描述】:
我使用名为 Puppetry 的神奇工具来创建 e2e 测试。测试使用 npm 命令 - npm test 运行。轻松愉快。
我使用 Dockerfile 在部署管道中运行这些测试。一切正常。 我想知道这两种方法中哪一种更好(以及为什么):
# Dockerfile
# other docker instructions
RUN npm run test <== 1. running tests when the image builds
CMD npm test <== 2. running tests after the image builds
目前,我使用第二种方法。
更多信息:
我的部署管道如下所示:
BuildDev > DeployDev >TestDev
BuildDev 使用构建 Dockerfile。 TestDev 使用测试 Dockerfile。
【问题讨论】:
-
仅次于@David,使用第二种方法很好,您将无法使用第一种方法与其他容器通信。
-
@Adiii 这两种方法都适用于我的管道。测试从在无头 chromium 实例中打开我的 React 应用程序开始。
-
实际上在构建过程中没有意义,图像只是一个模板,您没有运行容器可以提供的功能。在构建过程中有一些你无法执行的基调
-
@Adiii 我已经添加了我的管道设置。
标签: docker dockerfile puppeteer e2e-testing