在詹金斯版。2.121.3 使用管道试图删除文件。它给出的脚本不允许错误消息。
是否有另一种方法可以在不使用 OS 命令的情况下删除 Jenkins 中的文件?
Scripts not permitted to use method java.io.File delete. Administrators can decide whether to approve or reject this signature.
[Pipeline] End of Pipeline
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: Scripts not permitted to use method java.io.File delete
Run Code Online (Sandbox Code Playgroud)
流水线代码
stage('Delete test.zip file') {
if (fileExists('test.zip')) {
new File('test.zip').delete()
} else {
println "test.zip file not found"
}
}
Run Code Online (Sandbox Code Playgroud)
有几种替代方法:
#!/usr/bin/groovy
package org.utils
class PipelineUtils {
static def deleteFile(String name) { new File(name).delete() }
}
Run Code Online (Sandbox Code Playgroud)
在您的管道脚本中,您需要导入库:
@Library('your-jenkins-library')_
import static org.utils.PipelineUtils.*
deleteFile('test.zip')
Run Code Online (Sandbox Code Playgroud)
fileOperations([script.fileDeleteOperation(excludes: '', includes: 'test.zip')])
Run Code Online (Sandbox Code Playgroud)
def new_exclude_patterns = [[pattern: ".git/**", type: 'EXCLUDE']]
cleanWs deleteDirs: false, skipWhenFailed: false, patterns: new_exclude_patterns
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
18845 次 |
最近记录: |