小编Mod*_*oob的帖子

Jenkins 共享库 - 从 /vars 中的 /src 文件夹导入类

我正在尝试为我的 CI 流程编写一个 Jenkins 共享库。我想引用\src文件夹中定义的全局函数内的文件夹中的类\vars,因为它允许我将大部分逻辑放在类中而不是全局函数中。我遵循 Jenkins 官方文档中记录的存储库结构: Jenkins 共享库结构

这是我所拥有的一个简化示例:


/src/com/example/SrcClass.groovy

package com.example

class SrcClass {
  def aFunction() {
    return "Hello from src folder!"
  }
}
Run Code Online (Sandbox Code Playgroud)

/vars/classFromVars.groovy

import com.example.SrcClass

def call(args) {
  def sc = new SrcClass()
  return sc.aFunction()
}
Run Code Online (Sandbox Code Playgroud)

詹金斯文件

@Library('<lib-name>') _
pipeline {
  ...
  post {
    always {
      classFromVars()
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我的目标是让文件夹中的全局类/vars充当一种公共外观,并在我的Jenkinsfile自定义步骤中使用它,而不必在script块中实例化类(使其与声明性管道兼容)。这对我来说似乎非常简单,但在运行文件时出现此错误classFromVars

<root>\vars\classFromVars.groovy: 1: unable to resolve class com.example.SrcClass
 @ line 1, column 1.
   import …
Run Code Online (Sandbox Code Playgroud)

groovy jenkins jenkins-shared-libraries

6
推荐指数
1
解决办法
5253
查看次数

标签 统计

groovy ×1

jenkins ×1

jenkins-shared-libraries ×1