【问题标题】:Running Jenkinsfile with multiple Python versions使用多个 Python 版本运行 Jenkinsfile
【发布时间】:2019-03-24 06:21:22
【问题描述】:

我在 Jenkins 中设置了一个多分支管道,它运行一个 Jenkinsfile,它使用 pytest 测试脚本,并使用 Cobertura 插件输出结果,并使用 Pylint 和警告插件检查代码质量。

我想使用 virtualenv 使用 Python 2 和 Python 3 测试代码,但我不知道如何在 Jenkinsfile 中执行此操作,并且 Shining Panda 插件不适用于多分支管道(据我所知)。任何帮助将不胜感激。

【问题讨论】:

    标签: python jenkins github continuous-integration jenkins-pipeline


    【解决方案1】:

    您甚至可以使用 vanilla Jenkins(无需任何插件)来实现。 “最大”的问题将是适当的参数化。但是,让我们从头开始吧。

    2 个 Python 版本

    当您在一台机器上安装 2 个版本的 python 时,您将拥有 2 个不同的 exec 文件。对于python2,您将拥有python,对于python3,您将拥有python3。即使你创建了 virtualenv(使用venv),你也会同时拥有它们。因此,您可以对两个版本的 python 运行单元测试。只需从批处理/bash 脚本执行正确的命令即可。

    詹金斯

    有很多方法来执行它:

    • 您可以为 python 2 和 3 版本的测试准备单独的作业并从 jenkins 文件中运行它们
    • 您可以在单个 jenkins 文件中定义整个管道,其中每个 python 测试都是不同的阶段(它们可以一个接一个地运行或同时运行)

    【讨论】:

    • 谢谢,我现在已经包含了在不同版本的 Python 中安装我的项目的单独阶段,现在可以在每个 Python 版本的单独构建阶段中运行测试。为每个 Python 版本设置单独的构建作业有助于分别可视化 Py 版本 2 或 3 的构建结果。
    • 可以使用什么指令在 jenkins 上同时运行测试?
    • @Daniel 将 parallel 用于舞台 (jenkins.io/blog/2017/09/25/declarative-1)
    猜你喜欢
    • 1970-01-01
    • 2014-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-24
    • 1970-01-01
    • 1970-01-01
    • 2018-04-27
    相关资源
    最近更新 更多