我需要运行 Pynt 来自动对我拥有的 API 进行安全测试,我有一个集合和一个环境,并且通过 Postman 一切都运行得很好,现在我想使用 Newman 在 GitLab CI/CD 上运行它;我构建了一个 docker 镜像来包含 python(用于 Pynt)、npm(用于 Newman)和 DinD,因为 Pynt 显然需要它。
使用此设置时,我收到一个错误,指出 docker 守护进程需要特权访问,这存在一些令我担忧的安全风险,我的问题是为什么 Pynt 需要 DinD 和 docker 守护进程环境?
拥有可用的 docker 是使用 pynt
的
已记录的先决条件。这是因为
pynt
CLI 调用 docker
命令来执行其功能。在相关部分,文档指出:
请注意,Pynt 解决方案基于 docker,需要访问本地主机 [...]
确保 Docker 引擎可用并在您的计算机上运行
pynt 的 CI/CD 文档 描述了 GitLab CI 配置来实现此目的,假设您使用 GitLab.com 共享运行器或使用 docker-in-docker 的自托管基于 docker 的执行器。
可能有不止一种配置可以让您在 GitLab CI 中执行此操作,但无论如何,您需要确保您能够在 GitLab CI 作业中运行
docker
命令才能使用pynt
。