JobDSL 脚本可以使用同一目录中的 Groovy 文件。例如,Git.groovy
内容如下:
class Git extends Closure<Void> {
final String git
def Git(final String git = '/usr/bin/git') {
super(null)
this.git = git
}
def call(ArrayList<String> command, File dir = null) {
final gitCommand = [git, *command].execute(null, dir)
gitCommand.waitFor()
}
}
JobDSL 脚本可以使用:
final git = new Git()
git(['clone', ...])
但是当在 Build Flow 脚本中尝试同样的事情时,它会发出类似的信息:
Script1.groovy: 49: unable to resolve class Git
即使构建流程脚本已Flow run needs a workspace
设置,也会发生这种情况。
构建流程脚本如何重用公共代码?