Files
jenkins-shared-library/vars/deployViaFtp.groovy

43 lines
1.2 KiB
Groovy

def call(Map cfg = [:]) {
// -------- 参数校验 --------
if (!cfg.configName) {
error "deployViaFtp: configName is required"
}
if (!cfg.sourceFiles) {
error "deployViaFtp: sourceFiles is required"
}
// -------- 默认值 --------
String removePrefix = cfg.get('removePrefix', '')
String remoteDirectory = cfg.get('remoteDirectory', '/')
boolean flatten = cfg.get('flatten', false)
boolean cleanRemote = cfg.get('cleanRemote', false)
boolean verbose = cfg.get('verbose', false)
// -------- FTP 发布 --------
ftpPublisher(
alwaysPublishFromMaster: false,
continueOnError: false,
failOnError: false,
masterNodeName: '',
paramPublish: null,
publishers: [[
configName: cfg.configName,
verbose: verbose,
transfers: [[
sourceFiles: cfg.sourceFiles,
removePrefix: removePrefix,
remoteDirectory: remoteDirectory,
flatten: flatten,
cleanRemote: cleanRemote,
makeEmptyDirs: false,
noDefaultExcludes: false,
patternSeparator: '[, ]+'
]]
]]
)
}