如何在詹金斯的多分支管道中通过 ssh 发布

How to publish over ssh in multibranch pipeline in jenkins

我在根目录下有一个带有 Jenkinsfile 的 maven springboot 项目。我已经在 jenkins 文件中编写了构建 jar 文件的阶段,它正在工作 fine.Next 阶段是 'deployment',我必须将 jar 文件移动到 Linux 服务器并在那里 运行。任何人都可以帮助我在 jenkinsfile 阶段如何将 jar 文件从 Jenkins 服务器移动到另一台服务器并 运行 它在那里。

1.you 可以使用 Publish over SSH 插件并获取管道语法的语法

sshPublisher(publishers: [sshPublisherDesc(configName: 'SERVER_to_be_deployed', transfers: [sshTransfer(excludes: '', execCommand: '', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '', remoteDirectorySDF: false, removePrefix: '', sourceFiles: '**/target/*.war')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])

2.you 只需要一个scp命令就可以跨机器传输文件

scp [options] username1@source_host:directory1/filename1 username2@destination_host:directory2/filename2

3.curl 做同样的事情

curl -u username:password -T /path/to/file.txt sftp://host.com:22/file.txt

您想使用哪一个:)