小编Gui*_*ume的帖子

使用 Jenkins 动态共享库进入管道

我不知道如何定义动态共享库,并将其使用到我的管道中:

myLib=library (identifier: 'lib@master', retriever: modernSCM(
    [$class: 'GitSCMSource',
        remote: 'https://mygit.orga.com/git/ORGA/Jenkins-libs.git',
        credentialsId: 'aaaaaaa-8f3f-4e3c-vvvvvvv-6c77351e7872',
        includes: '*',
        excludes: 'test'
    ]))

pipeline {

  agent {

    node(){
      label("linux&&!master")
    }
  }


  tools {
    jdk "JDK1.8.0_45"
    maven "MVN339"
  }
  stages{
    stage("test lib"){
      steps {
        script {

          myLib.a.b.c.Utils.sayHelloTo("Guillaume")
          log.info("test lib")
        }
      }

    }
  }
Run Code Online (Sandbox Code Playgroud)

在运行时它失败并显示:

java.lang.ClassNotFoundException: Utils
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
Run Code Online (Sandbox Code Playgroud)

有什么问题的想法吗?我在网上找不到有关动态共享库教程的任何信息。

编辑:添加库树:

src
--a
  --b
    --c
      Utils.groovy
Run Code Online (Sandbox Code Playgroud)

Utils.groovy内容:

java.lang.ClassNotFoundException: Utils
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354) …
Run Code Online (Sandbox Code Playgroud)

jenkins jenkins-pipeline

5
推荐指数
1
解决办法
3866
查看次数

标签 统计

jenkins ×1

jenkins-pipeline ×1