首页 > 解决方案 > 调用不带参数的共享库函数

问题描述

我正在使用带有 jenkins 2 的共享库。意思是,我正在利用重用我在各个阶段编写的一些管道代码的能力。

这是模块vars/utils.groovy的示例

def set_virtual_env() {
    sh """
    chmod 777 virt_run_pytest.sh
    chmod 777 install_python_venv.sh

    pip install -U setuptools
    bash install_python_venv.sh
    """
}

当尝试在管道脚本中执行它时,它会失败并出现以下错误:

groovy.lang.MissingPropertyException: No such property: set_virtual_env for class: groovy.lang.Binding

我怀疑这是因为我没有将任何变量传递给这个函数,因此它没有正确实例化。

所以实际的问题可能是“如何调用不需要参数的共享库函数”?

标签: jenkinsgroovyjenkins-pipelinejenkins-shared-libraries

解决方案


我在调用对象而不是方法。意思是,我称之为:

utils.set_virtual_env

代替

utils.set_virtual_env()

推荐阅读