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
即使Build Flow脚本设置了Flow run needs a workspace
,也会发生这种情况。
Build Flow脚本如何重用公共代码?