gpt4 book ai didi

azure - 在 Docker 镜像内的 Jenkins (AKS) 上运行测试容器

转载 作者:行者123 更新时间:2023-12-03 04:40:15 25 4
gpt4 key购买 nike

我正在尝试运行 Jenkins 管道来运行我的测试用例。我的测试用例使用 testcontainer 框架。 Jenkins 已通过 Azure Kubernetes 服务 (AKS) 安装。

当我尝试执行管道时,Azure 不允许修改 Docker 套接字,并且此命令不起作用:

-v/var/run/docker.sock:/var/run/docker.sock

阅读 AKS 指南,我在容器限制中找到了下一条评论:

您无法再访问 docker 引擎/var/run/docker.sock 或使用 Docker-in-Docker (DinD)。

https://learn.microsoft.com/en-us/azure/aks/cluster-configuration#containerd-limitationsdifferences

如何使用 AKS 映射 Docker 套接字以便执行 docker images//testcontainer?是否可以通过 AKS 使用测试容器,或者我需要更改我的云?

最佳答案

根据the Testcontainers documentation :

Testcontainers requires a Docker-API compatible container runtime.

正如您所指出的,这在 Kubernetes 中不可用,这意味着您无法在 Kubernetes 托管的 CI 系统中使用 Testcontainers。

您可能会考虑将测试套件分解为一组纯单元测试和单独的集成测试。单元测试不依赖于容器或任何其他外部资源,可能使用接口(interface)的 stub 实现或外部 API 调用的模拟;它们不一定只是模拟现实,但可以在构建系统运行的任何地方运行。集成测试将依赖于完全部署的应用程序并对容器的端点进行 API 调用。这种拆分可以让您避免在单元测试阶段运行外部依赖项,从而避免测试容器。

关于azure - 在 Docker 镜像内的 Jenkins (AKS) 上运行测试容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75066714/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com