Jenkins管道在使用sh代码时获取NotSerializableException:WorkflowJob

时间:2018-06-28 15:59:07

标签: jenkins groovy jenkins-pipeline

我在执行此操作的步骤中有一个步骤:

sh("shmig -m ${app_root}/${migration_folder} -t mysql -H $mysql_server -l $USERNAME -p $PASSWORD -d $schema up")

它工作正常,但有时我会收到此错误:

java.io.NotSerializableException: org.jenkinsci.plugins.workflow.job.WorkflowJob

构建之间没有任何变化,我不理解此错误。

你有什么主意吗?

有关该呼叫的更多信息,它是这样完成的:

node('docker') {
    step('shmig') {
       smhig()
    }
} 

def smhig() {
   ...
   sh("shmig -m ${app_root}/${migration_folder} -t mysql -H $mysql_server -l $USERNAME -p $PASSWORD -d $schema up")
}

1 个答案:

答案 0 :(得分:0)

在“ sh(“ shmig -m ...)”行之前是否存在任何变量声明/赋值?我曾经遇到过同样的错误,但是在替换了

中的所有变量声明之后,它消失了
  

myVar = myVal

  

def myVar = myVal

不确定是否可以帮助您,但我希望如此。