我正在使用Jenkins创建一个构建管道,并且需要在这个管道中触发一个部署步骤。这意味着手动过程(构建会自动发生、计时,然后在部署阶段停止,等待手动授权)。
我需要使用前一步中的参数触发部署步骤。
因此,使用“参数化插件”,我可以在作业之间传递参数。我可以触发自动或手动触发下游作业(不确定这是否是一个标准特性,或者手动构建是由某个插件添加的)。
但是,我无法找到触发手动参数化作业的任何方法。
有人知道怎么做吗?还有别的插件我可以用吗?
我需要这些参数的原因是,我已经创建了一个通用部署作业,需要传入模块名和要部署的maven版本。我可以为每个模块创建特定的部署作业,但这将是非常痛苦的。
我也一直在考虑以下几点,但这似乎是一种套话:
这种方法有各种各样的问题。
发布于 2014-03-28 07:36:05
当前生产版本(1.4.2)的构建-管道-插件允许它-指定手动下游作业的参数,这是显示在管道上,可以从那里启动。老版本做不到。
发布于 2012-09-20 20:51:02
看看构建管道插件:https://wiki.jenkins-ci.org/display/JENKINS/Build+Pipeline+Plugin。
可以指定要自动触发的作业或手动触发的作业。
此外,如果需要在作业之间传递参数,则需要下载Groovy插件:https://wiki.jenkins-ci.org/display/JENKINS/Groovy+plugin
为了传递参数,比如在作业之间进行SVN修订,您需要在构建开始时执行System脚本。这是一个示例,它将添加一个可供任何下游作业使用的SVN_UPSTREAM参数。注意:我注意到,在创建具有系统groovy脚本的下游作业时,出现了问题。它似乎消除了对所创建的原始参数的引用。
import hudson.model.*
def build = Thread.currentThread().executable;
build.addAction(new ParametersAction(new StringParameterValue("SVN_UPSTREAM", build.getEnvVars()['SVN_REVISION'])));
println "SVN_UPSTREAM:" + build.getEnvVars()['SVN_UPSTREAM'];发布于 2014-03-26 14:24:49
有一种解决办法:
一旦您手动提升特定的上游作业生成,它将触发下游作业的生成。但下游作业不会出现在管道上。
https://stackoverflow.com/questions/11983796
复制相似问题