我在 Jenkins 中设置了一个运行 Jenkinsfile 的多分支管道,它使用 pytest 测试脚本,并使用 Cobertura 插件输出结果,并使用 Pylint 和 Warnings 插件检查代码质量。
我想用 Python 2 和 Python 3 使用 virtualenv 测试代码,但我不知道如何在 Jenkinsfile 中执行此操作,而且 Shining Panda 插件不适用于多分支管道(据我所知).任何帮助将不胜感激。
最佳答案
您甚至可以使用 vanilla Jenkins(无需任何插件)来做到这一点。 “最大”的问题将是适当的参数化。但让我们从头开始。
2 个版本的 Python
当你在一台机器上安装 2 个版本的 python 时,你将有 2 个不同的 exec 文件。对于 python2,您将拥有 python
,对于 python3,您将拥有 python3
。即使当您创建 virtualenv(使用 venv
)时,您也会同时拥有它们。因此,您可以对两个版本的 python 再次运行单元测试。这只是从批处理/bash 脚本执行正确命令的问题。
Jenkins
有多种实现方式:
- 您可以为 python 2 和 3 版本的测试准备单独的作业,并从 jenkins 文件运行它们
- 您可以在单个 jenkins 文件中定义整个管道,其中每个 python 测试都是不同的阶段(它们可以一个接一个或同时运行)
关于python - 使用多个 Python 版本运行 Jenkinsfile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52890995/