From b56db8589df067eab1b0ed11f2a7a7aa18ddcb00 Mon Sep 17 00:00:00 2001 From: Timothy Yin Date: Mon, 9 Feb 2026 11:45:39 +0800 Subject: [PATCH] Add vars/deployViaFtp.groovy --- vars/deployViaFtp.groovy | 42 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 vars/deployViaFtp.groovy diff --git a/vars/deployViaFtp.groovy b/vars/deployViaFtp.groovy new file mode 100644 index 0000000..5d22683 --- /dev/null +++ b/vars/deployViaFtp.groovy @@ -0,0 +1,42 @@ +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: '[, ]+' + ]] + ]] + ) +}