我正在使用Jenkins Delivery Pipeline插件。我有一些手动触发的参数化构建。如果我从项目页面触发构建,构建会显示一个需要定义参数的屏幕(正如预期的那样)。但是,当我从Delivery Pipeline插件启动参数化构建时,它只是启动构建,而不提供屏幕。这是奇怪的行为,有没有可能让管道插件显示参数化的构建屏幕?
谢谢你的帮忙!
发布于 2015-05-15 22:39:08
我大体回答这个问题。
您需要使用Parameterized Trigger Plugin或Build Pipeline Plugin。Jenkins团队仍在解决Delivery Pipeline插件的问题。有关此问题的最新信息,请访问https://issues.jenkins-ci.org/browse/JENKINS-25685查看此链接。您可以通过该链接了解问题何时得到解决。
如果Build Pipeline插件可以合并到您的用例中,则可以使用它。构建管道插件也有类似的问题,现在已经修复了。它在22天内得到了修复(https://issues.jenkins-ci.org/browse/JENKINS-25427,https://github.com/jenkinsci/build-pipeline-plugin/pull/56)。您只希望Delivery Pipeline插件的相同问题很快得到解决。
你能给我提供Jenkins的版本,环境和插件版本吗?我可以根据你给出的答案更新我的答案。
发布于 2015-05-15 23:18:16
当您使用Delivery Pipeline插件,并且具有手动触发的参数化构建时,只要您将上游作业配置为将参数传递到下游作业,当在管道视图页面上单击"build trigger“按钮时,参数就会自动传递。
例如,假设你有一个这样的设置:
Compile_Project ---> Deploy_Project假设您正在从Compile_Project向Deploy_Project作业传递一个名为versionNumber的变量。让我们还假设您的配置管理使用Subversion,并且您的versionNumber看起来像1.0.${SVN_REVISION}。${SVN_REVISION}是由Jenkins自动提供的,因此您的版本号将类似于1.0.1234,其中1234是Subversion提供的提交号。
在您的Delivery Pipeline视图上,假设它被配置为显示3个管道实例,并且在视图设置中启用了手动触发器。你的管道视图页面可能看起来像这样(耶,ASCII艺术!):
Compile_Project ---> Deploy_Project (>)
Compile_Project ---> Deploy_Project (>)
Compile_Project ---> Deploy_Project (>)在本例中,我使用(>)来表示手动触发器按钮。底部的按钮将尝试部署version 1.0.1234,中间的按钮将尝试部署version 1.0.1235,顶部的按钮将尝试部署version 1.0.1236,假设您的项目已连续提交SVN。
为了将参数从Compile_Project传递到Deploy_Project作业,您需要执行以下操作。(注意:听起来您已经完成了这一部分,但我将其包括在内,以防您遗漏了一步,也是为了完整。)
在Compile_Project作业的配置中,作为后期构建操作,选择“构建其他项目(手动步骤)”。在“下游项目名称”框中,输入Deploy_Project,然后从“添加参数”下拉列表中选择“预定义参数”。在出现的"Parameters“文本区域中,创建一个要传递的参数,我将其命名为VERSION_NUMBER。然后在文本区中输入的是VERSION_NUMBER=1.0.${SVN_REVISION}。这将使参数能够从Compile_Project传递到Deploy_Project。然而,您还没有完全完成。
在Deploy_Project作业的配置中,您需要将其设置为接受传递到作业中的参数。为此,请配置Deploy_Project,并选中"This build is parameterized“复选框。然后从“添加参数”下拉列表中添加一个字符串参数。在"Name“字段中,输入VERSION_NUMBER。此时,您可以根据需要在Deploy_Project的配置中使用${VERSION_NUMBER},以便指定要部署的项目的正确版本号。
https://stackoverflow.com/questions/30104285
复制相似问题