【问题标题】:Jenkins + Docker Compose + Integration TestsJenkins + Docker Compose + 集成测试
【发布时间】:2021-01-05 09:15:46
【问题描述】:

我有一个疯狂的想法,即使用 Docker Compose 在 Jenkins 管道中运行集成测试(.Net 中的 xUnit)。目标是创建临时测试环境并从 Jenkins(和 Visual Studio)运行集成测试,而不使用物理服务器上的 DB 等。在我之前的项目中,有时会出现这样一种情况,即两个构建覆盖了来自第二个构建的测试数据,而我想避免这种情况。

计划如下:

  1. 为每个测试项目添加 dockerfile
  2. 在 docker compose 文件中添加引用(在 docker 上创建 DB)
  3. 在 Jenkins 中添加将运行集成测试的步骤

我没有长期的竞争经验,所以我无法预测会出现什么问题。

问题是:

  1. 有什么意义吗?
  2. 有可能吗?
  3. 可以做得更简单吗?
  4. 我想 Visual Sutio 测试运行程序将无法从 docker 图像中获得结果。我是对的吗?
  5. 看起来测试的开发会更加困难,因为测试将在 docker 上运行。我是对的吗?

感谢您的所有建议。

【问题讨论】:

    标签: visual-studio docker jenkins .net-core docker-compose


    【解决方案1】:
    1. 很大程度上取决于细节。在一个小项目中——不,在一个包含多个微服务和许多开发人员的大项目中——当然。
    2. 当然。任何可以用 shell 命令完成的事情都可以用 Jenkins 自动化
    3. 是的,只是在某个地方运行了一个测试数据库。或者只是用一个简单的脚本在本地运行它。自动化和容器化与简单相反,如果从长远来看开销是值得的,您只会这样做
    4. 通常它甚至不会在同一台机器上运行,所以这可能很棘手。虽然我不是 VS Code 专家
    5. 容器的目标是使其更简单,因为环境不会改变,但会增加配置开销。在大多数情况下,它不应该产生影响,但每当你做出重大改变时,都会花费一些时间。

    我想说在本地机器上运行 Jenkins 几乎不值得,你可以在本地使用带有脚本(bash 或 WSL)的 docker。

    【讨论】:

      猜你喜欢
      • 2021-11-29
      • 2016-10-07
      • 2013-11-08
      • 2019-07-27
      • 1970-01-01
      • 2016-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多