Visual studio 詹金斯&x2B;Docker Compose+;集成测试

Visual studio 詹金斯&x2B;Docker Compose+;集成测试,visual-studio,docker,jenkins,.net-core,docker-compose,Visual Studio,Docker,Jenkins,.net Core,Docker Compose,我有一个疯狂的想法,就是使用Docker Compose在Jenkins管道中运行集成测试(xUnit in.Net)。目标是创建临时测试环境,并在物理服务器上运行Jenkins(和Visual Studio)的集成测试,而不使用DBs等。在我以前的项目中,有时会出现这样的情况,两个版本覆盖了第二个版本的测试数据,我希望避免这种情况 计划如下: 为每个测试项目添加dockerfile 在docker compose文件中添加引用(在docker上创建DBs) 在Jenkins中添加将运行集成测试

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

计划如下:

  • 为每个测试项目添加dockerfile
  • 在docker compose文件中添加引用(在docker上创建DBs)
  • 在Jenkins中添加将运行集成测试的步骤
  • 我没有长期的内容化经验,所以我无法预测会出现什么问题

    问题是:

  • 这有什么意义吗
  • 可能吗
  • 能做得简单些吗
  • 我想Visual Sutio test runner将无法从docker图像中获得结果。我是对的
  • 看来开发测试将更加困难,因为测试将在docker上运行。我是对的
  • 谢谢你的建议

  • 这在很大程度上取决于细节。在一个小项目中-不,在一个有多个微服务和许多开发人员的大项目中-当然
  • 当然。任何可以用shell命令完成的事情都可以用Jenkins实现自动化
  • 是的,只是在某处运行一个测试数据库。或者用一个简单的脚本在本地运行它。自动化和集装箱化是简单的对立面,从长远来看,只有当开销值得时,你才会这么做
  • 通常情况下,它甚至不会在同一台机器上运行,因此这可能很棘手。我不是VS代码专家
  • 容器的目标是使其更简单,因为环境不会改变,但它们会增加配置开销。大多数时候,这不应该有什么不同,但每当你做一个大的改变,它会花费一些时间
  • 我认为在本地机器上运行Jenkins是非常值得的,您可以在本地使用docker和脚本(bash或WSL)