当前位置: 首页 > 面试题库 >

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

岳正浩
2023-03-14
问题内容

我有根目录下带有Jenkinsfile的Maven
springboot项目。我已经在jenkins文件中编写了阶段来构建jar文件,并且工作正常。下一阶段是``部署’‘,我必须将jar文件移动到Linux服务器并在其中运行它。任何人都可以在jenkinsfile阶段帮助我,如何将jar文件从Jenkins服务器移至另一台服务器并在其中运行。


问题答案:

1.您可以使用SSH上发布插件并获取Pipeline语法的语法

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.您可以只使用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

您想使用哪一个:)



 类似资料:
  • 问题内容: 我们所有分支机构都有“阶段(构建)”。临时如何跳过此阶段,以便在多分支管道中的所有分支上运行。我知道一种解决方案是在阶段条件下使用,并要求所有开发人员将该分支拉入他们的分支。但这就是很多工作和协调。取而代之的是,我正在寻找一个全局配置,在该配置中,我们可以简单地按名称跳过任何分支上的阶段。 问题答案: 听起来好像您将Jenkinsfile放在代码的旁边,但是想要从管理的角度更改Jenk

  • 问题内容: 我想为每次推送触发多分支管道,有人可以让我知道如何在gitlab中为多分支管道配置Web挂钩。 问题答案: 如果您想知道触发器设置在多分支管道作业设置中的何处,将回答以下问题: 与其他作业类型不同,多分支作业配置不需要“触发器”设置。只需在GitLab中为推送请求创建一个Webhook,它指向项目的Webhook URL。 来源:https : //github.com/jenkins

  • 问题内容: 我正在使用Pipeline插件运行Jenkins 2。我已经建立了一个多分支管道项目,其中每个分支(主分支,开发分支等)的根目录都有一个Jenkinsfile。设置起来很简单。但是,即使代码没有更改,如何使每个分支定期运行(而不是分支索引)也让我迷惑不解。我需要在Jenkinsfile中添加什么以启用定期构建? 问题答案: 如果您使用声明式样式Pipeline并且只想触发特定分支上的构

  • 我目前正在测试Jenkins2.0的管道方法,看看它是否适用于我所使用的构建环境。 另外,如果上游的一个分支发生更改,则不能为所有分支触发整个下游构建。这将创建太多的平等构建。

  • 问题内容: 我有两条詹金斯管道,比方说管道A和管道B。我想在管道B中调用管道A。我怎样才能做到这一点? (管道A是管道B的子集。管道A负责执行一些日常工作,可以在管道B中重用) 我已经在计算机上安装了Jenkins 2.41。 问题答案: 以下解决方案对我有效: 在此处添加“管道:构建步骤”官方文档的链接:https : //jenkins.io/doc/pipeline/steps/pipeli

  • 问题内容: 我已经使用try catch块处理了Jenkins管道步骤。在某些情况下,我想手动引发异常。但它显示以下错误。 我检查了scriptApproval部分,没有待批准的项目。 问题答案: 如果要在异常情况下中止程序,则可以使用管道步骤以错误停止管道执行。范例: 如果要以成功状态停止管道,则可能需要使用某种布尔值来指示必须停止管道,例如: