Mat*_*eus 62 promotions build jenkins
我安装了Promoted Build Plugin从Jenkins现在开始,现在我面临一些麻烦,以促进现有工作的构建.这是场景:
Nightly Build每天晚上都有一个现有的工作,运行所需的所有测试和指标;
现有Deploy Build一个接受参数$ {BUILD_NUMBER}并从中部署具有相应$ {BUILD_NUMBER}的构建Nightly Build
到现在为止还挺好.现在是我要添加的部分Build Promotions......

有没有办法推广Nightly Build #39(注意它之前已经建成)Deploy Build?或者甚至可能来自其他地方,坦率地说,我有点迷失在这里:(
我没有看到它们具有清晰的上游/下游关系,因为它们没有:始终运行此构建,然后在执行期间运行另一个 - [部署构建]有时仅执行,而不是总是在[夜间]之后执行建立].
Sla*_*lav 121
版本2.23+的行为发生了变化(感谢AbhijeetKamble指出).调用(构建)作业的预定义参数部分传递的任何参数都必须存在于被调用(部署)作业中.此外,调用作业参数的限制也适用,因此如果调用作业的参数是一个选项,则必须预先填充所有可能的值(来自促销).或者只使用Text参数类型.
是的,我有完全相同的设置:构建作业(基于SVN提交)和手动执行的部署作业.当用户从构建作业(包括旧版本)中选择任何构建时,他们可以转到Promotion Status链接并执行各种部署促销,例如Deploy to DEV,Deploy to QA等
代码A:
Server=IP_of_my_dev_server`
Job=$PROMOTED_JOB_NAME`
BuildSelection=<SpecificBuildSelector><buildNumber>$PROMOTED_NUMBER</buildNumber></SpecificBuildSelector>
Run Code Online (Sandbox Code Playgroud)
在上面的预定义参数部分中,=左侧的名称是在部署作业中定义的参数.在=的右边是执行此促销时将分配给这些参数的值.定义三个参数Server,Job和BuildSelection.
该参数Server=是我自己的,因为我的部署作业可以部署到多个服务器.但是,如果您的部署作业被硬编码为始终部署到特定位置,则您不需要这样做.
该Job=参数是必需的,但参数的名称取决于您在部署作业中设置的内容(我将在那里解释配置).值$PROMOTED_JOB_NAME必须保持原样.这是促销流程知道的环境变量,并引用回构建作业的名称(配置促销过程的名称)
该BuildSelection=参数是必需的.整条线必须保持原样.传递的价值是$PROMOTED_NUMBER促销活动再次意识到的.在你的例子中,它会#39.
该块,直到触发项目完成他们建立对勾将会使推广过程中等待,直到部署工作完成.否则,升级过程将触发部署作业并成功退出.等待部署作业完成的好处是,如果部署作业失败,促销明星也将标记为失败.
(一个小注的位置:推广的星号会成功,而在部署,运行作业如果有部署失败,它只会改变失败后部署.工作完成逻辑......但,如果你有点混乱在部署完成之前查看促销明星)
ServerJobJob=从预定义的参数,我们配置).此外,如果促销的预定义参数没有传递任何值,则将使用第一个选择值.如果构建和部署作业之间存在一对一关系,则可以省略Job=促销配置中的参数.BuildSelection${Job}Specified by a build parameterBuildSelection(不${...}!)现在,通过上面的部署作业,您可以手动运行它,并从要部署的构建作业中选择哪个构建号(最后构建,上次成功,按构建号等).您可能已经将它配置得非常相似.在推广上的构建工作将基本执行相同的事情,并提供版本号的基础上,在执行了什么推广.
如果您对说明有任何问题,请与我们联系.
| 归档时间: |
|
| 查看次数: |
59914 次 |
| 最近记录: |