在Jenkins中部署升级的版本

时间:2018-10-09 10:50:24

标签: jenkins continuous-deployment promoted-builds

我有两个Jenkins任务,一个任务是构建并推广成功的构建,另一个任务是部署那些升级后的构建。我正在使用两个插件来完成此任务,复制工件插件升级版

我必须构建代码的工作是非常标准的工作,我每分钟都要去git存储库检查是否有任何更改,如果有任何更改,我只是 Invoque Gradle脚本 Build 步骤上,然后选择 Use Gradle Wrapper 框,一切都会顺利进行。此构建任务的唯一自定义部分是我使用的是 promoted builds 插件,该插件效果很好,并且具有非常标准的配置。

Build Configuration

我对我的构建任务很满意,但是我的部署任务有问题。在我的 deploy 任务中,我想选择要部署的升级版本,但无法部署选定的升级版本。

在我的 Deploy任务中,勾选该项目已参数化框,然后选择 Promoted Build Parameter

Promoted Build Parameter Configuration

配置看起来不错,当我运行 Deploy 任务时,可以选择要部署的版本。

Select build to be deployed

我遇到的问题是,当我选择从另一个项目复制工件时。在哪个版本中,选择由构建参数指定,并为 Parameter Name 选择与 Promoted Build相同的名称参数

Copy artifacts from another project Configuration

但是当我运行此 Deploy 任务时,出现此错误:ERROR: Unable to find a build for artifact copy from: Aurora

但是,如果我将哪个版本部分更改为从最新完成的版本的WORKSPACE复制,一切正常。

Working Configuration

在此配置下我怎么了?

1 个答案:

答案 0 :(得分:0)

我能够解决此问题,但我认为这不是最干净的方法,但最终还是有效。在 Build 任务中,我保留了所有内容,仅添加了 Post-Build Action 存档工件

Post Build Action

部署任务中,我需要更改更多内容。在我的Deploy任务中,勾选此项目已参数化框,然后选择 Promoted Build Parameter ,此步骤的配置是非常标准的配置,我只选择了< em> Build 项目,其余的都是自动的。这一步使我可以选择要部署的升级版本,但这是最大的问题所在。此“步骤”返回的值类似于 https://site.name.com/job/ProjectName/137/

此创建的问题在于从另一个项目复制工件。我需要一个内部版本号,但是我只有那个 URL ,所以我找到的解决方案是从该URL获取内部版本号,将其作为一个局部变量注入,并在下一步。

Build steps

使用此解决方案,我只能部署升级后的版本。