python - 使用多个 Python 版本运行 Jenkinsfile

标签 python jenkins github continuous-integration jenkins-pipeline

我在 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/

相关文章:

git - 如何在 Jenkins 的 shell 脚本中使用 git 凭据?

github - Jenkins - 多分支管道 : Could not fetch branches from source

python - 多处理代码在导入时工作,在调用时中断

python - 如何获取 django FormWizard 中上一步的数据

python - 如何在 PyCharm 中使用 Matplotlib 时修复 "could not find or load the Qt platform plugin windows"

github - 使用 github webhook 阅读文档结果为 400 : "Payload not valid, invalid or missing signature"

url - 我如何使用这个 github 网址?

python - 如何在 python 中验证 SSL 证书?

macos - 如何在 OS X 上安装 Hudson 作为服务?

ios - FaSTLane - 覆盖输出名称