动态创建环境与 运行 Cypress 并行

Dynamic create environment and run Cypress parallel

我们正在使用 Cypress 运行 我们在 GitLab 中的 end-2-end-tests。在我们 运行 测试之前,我们创建了一个动态环境。动态环境是在执行 cypress 测试的 gitlab 运行ner 中使用 docker-compoe 创建的环境。动态环境启动后,针对该动态环境启动测试。一切都发生在一个 gitlab-runner 中,因此不会进行到测试环境的外部部署。

现在我们要向前推进并并行化 cypress 运行。它记录在此处 https://docs.cypress.io/guides/guides/parallelization 并且它在环境已经存在的假设下工作。它创建了多个 GitLab 运行ners,cypress 负责在 运行ners 之间分配场景。

问题是,如何使用 GitLab 建立一个可以在 GitLab 运行ners 之间共享的动态环境?是否只能通过虚拟部署到为此用户案例准备的 Kubernetes 环境?我是否需要在每个 运行ner 中创建一个动态环境?或者任何其他提示?

我们的解决方案现在看起来像这样。

我们在每个 运行ning gitlab-job 中从 docker-compose 开始环境。这当然会减少并行执行测试的时间节省,因为 gitlab 运行ners 被阻塞的时间更长。但由于它是并行发生的,而且我们并不缺少 运行 人,所以对我们来说没问题。另一个优势是我们只需进行最少的修改就可以保持当前的设置。最后我们减少了我们的“运行 all end 2 end tests”——执行时间减少了大约 30%