2

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设置,也会发生这种情况。

构建流程脚本如何重用公共代码?

4

0 回答 0