You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Jenkins Pipeline特定阶段调用已加载共享库lib-1的方法?

Jenkins Pipeline特定阶段调用共享库方法实现步骤

你已经通过library指令成功加载了lib-1和lib-2两个共享库,接下来根据共享库中groovy文件的存放位置,有两种调用方式:

情况1:调用src目录下的类方法

如果目标groovy文件在lib-1的src目录下(带包结构,比如src/com/company/Utils.groovy),需要先导入类(或使用全类名),实例化后再调用方法:

stage('stage') {
    steps {
        script {
            // 导入对应包下的类
            import com.company.Utils
            // 实例化类(如果构造方法需要参数,按需传入)
            def utils = new Utils()
            // 调用类中的方法,传入所需参数
            utils.processData("参数1", "参数2")
            
            // 也可以不导入,直接使用全类名实例化
            // def utils = new com.company.Utils()
        }
    }
}

情况2:调用vars目录下的全局方法

如果目标groovy文件在lib-1的vars目录下(比如vars/deployApp.groovy),这类文件定义的是全局可直接调用的方法,无需实例化,直接在script块中调用即可:

stage('stage') {
    steps {
        script {
            // 直接调用方法,方法名对应vars下的文件名
            deployApp("环境名", "版本号")
        }
    }
}

注意事项

  • 必须将Groovy代码放在script块中,因为声明式Pipeline的steps默认不支持直接写Groovy逻辑
  • 若共享库需要指定特定分支,在library指令的identifier中补充,比如lib-1@main
  • 如果类的构造方法需要参数,实例化时要传入对应参数

内容的提问来源于stack exchange,提问作者monty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 22:42:41