小编典典
这是由于Jenkins并未实现Groovy本身而是一个解释器(CPS)-https: //github.com/cloudbees/groovy-
cps
为了帮助处理所引入的复杂性,有一些常用的步骤可以解决麻烦,例如创建文件。
要立即使用Jenkins管道步骤,请使用writeFile:https
://jenkins.io/doc/pipeline/steps/workflow-basic-steps/#code-writefile-code-
write-file-to-workspace
writeFile([file: 'file.txt', text: filetxt])
如果您在编写自己的文件时遇到麻烦,建议将其拆分为一个共享库,请注意,这可能会导致ScriptSecurity警报,需要批准:
final class PipelineUtils implements Serializable {
private script=null
private static final PipelineUtils instance = new PipelineUtils()
@NonCPS
String saveFile(String filename, String text) {
String PWD = script.pwd()
String filePath = "${PWD}/${filename}"
File file = new File(filePath)
file.text = text
}
}
有关@NonCPS和不可序列化对象的信息,请参见https://github.com/jenkinsci/pipeline-
plugin/blob/master/TUTORIAL.md。
2020-07-25