У меня есть конвейер Jenkins, он импортирует разделяемую библиотеку, которая, в свою очередь, «захватывает» зависимость. Я хочу вызвать метод класса, который принимает параметр File.
Но файл не существует, когда я пытаюсь получить к нему доступ в общей библиотеке.
Трубопровод
@Library('my shared library')
pipeline {
// ...
stages {
stage {
steps {
script {
f = new File("foo.txt")
libFn(myFile: f)
}
}
}
}
}
Jenkins Shared Библиотека
// ./vars/libFn.groovy
@Grab("3rd party java library")
import LibraryClass
def call(Map params) {
LibraryClass libraryClass = new LibraryClass();
libraryClass.processFile(params.myFile);
}
Третья сторона Java Библиотека
public class LibraryClass {
public void processFile(File file) {
// do something with a file
}
}