在Hudson构建任务的时候,有时想可以通过传参而进行不同构建,具体设置如下:
在相应项目点击设置,勾选This build is parameterized,其中在Add Parameter下面,有多种参数类型可以选择,例如其中的choice,在Name那一行,等于参数变量的名称,Choices里面填具体的一下拉菜单的值,也就是参数变量的值,其中第一行的为默认变量;
参数的具体使用规则是使用上面所填写的Name里的变量名,下面以shell使用变量为例:${env}
最终hudson使用效果如下图:有一个下拉列表显示选择菜单,选择会再点击Build按钮才会开始构建
在采用参数构建功能之后,自动构建脚本里的url也要做相应改变,以php为例:
<?php
error_reporting(E_ALL);
ignore_user_abort(true);
$postdata = file_get_contents('php://input');;
if (!empty($postdata)) {
$data = json_decode($postdata);
if(!empty([$data->ref])) {
$ref = $data->ref;
if (strpos($ref, 'master')) {
file_get_contents('http://192.1.1.106:8080/hudson/job/Java-Master/buildWithParameters?token=java&env=Hudson');
}
}
}