jenkins pipeline FTP: Transferred 0 file(s)

使用jenkins pipeline 脚本上传文件为空时一般都是文件目录的格式与插件预期不符

如果按照以下配置依旧出现 FTP: Transferred 0 file(s) 的情况,请调整 sourceFiles 为* 开头,例如要上传当前目录下 target 文件夹下的jar包 则写为:sourceFiles:'*target/*.jar'

以下内容转载其他网站,已附转载连接。

根据 Stack overflow 上的回答,Publish Over FTP 插件自 1.15 版本开始支持 Pipeline 。

1. 安装 Publish Over FTP 插件

首先要在 Manage Jenkins → Manage Plugins 中安装 Publish Over FTP 插件。

2. 配置 FTP Server

之后需要在 Manage Jenkins → Configure System 页面的 Publish Over FTP 区域添加 FTP Server,其中的 Name 在后面的 Pipeline 脚本中会用到。

3. Pipeline 脚本

最后在脚本中通过 ftpPublisher 方法执行上传操作。

关于脚本的写法可以在 流水线语法 页面选择 ftpPublisher: Send build artifacts over FTP 示例自动生成脚本。

需要注意的有以下几点:

  • masterNodeName 和 paramPublish 参数是必须的,自动生成的脚本中不知道为什么不含这两个参数;
  • publishers → configName 值为第二步中设置的 FTP Server Name
  • remoteDirectory 指定上传的远端目录
  • sourceFiles 指定需要上传的文件
  • removePrefix 设置为需要过滤掉的文件前缀
    • 下面的示例中会自动将 OctopusSoa/OctopusApi/target/ 目录下的所有文件上传到 FTP 服务器的 server 目录下。
    • 如果 removePrefix 为空,则会上传到 server/OctopusSoa/OctopusApi/target/ 目录下。.
stage('Upload') {
    steps {
        ftpPublisher    alwaysPublishFromMaster: false,
                        continueOnError: false,
                        failOnError: false,
                        masterNodeName: '',
                        paramPublish: null,
                        publishers: [[
                            configName: 'SOA-D',
                            transfers: [[
                                asciiMode: false,
                                cleanRemote: false,
                                excludes: '',
                                flatten: false,
                                makeEmptyDirs: false,
                                noDefaultExcludes: false,
                                patternSeparator: '[, ]+',
                                remoteDirectory: 'server',
                                remoteDirectorySDF: false,
                                removePrefix: 'OctopusSoa/OctopusApi/target',
                                sourceFiles: 'OctopusSoa/OctopusApi/target/*.jar'
                            ]],
                            usePromotionTimestamp: false,
                            useWorkspaceInPromotion: false,
                            verbose: false
                        ]]
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值