jenkins 多个jobs 间参数传递,可以减少job个数。
1. 首先创建一个简单的job (如test2)
执行简单的windows bat脚本
echo "current workspace is %WORKSPACE%"
echo "JOB_NAME is %JOB_NAME%"
2. 再创建一个参数化job(test2_deploy)
也执行一个简单的命令行脚本:
echo "current workspace is %WORKSPACE%"
echo "parameter version is %version%"
echo "parameter test2_workspace is %test2_workspace%"
echo "current work directory %cd%"
cd "%test2_workspace%"
e:
echo "current work directory %cd% after change"
3. 修改job test2的配置,
在“构建后操作” 或 "Post-build actions" 里面选择 “Trigger parameterized build on other projects",如果没有这个选项,先安装”Parameterized Trigger“插件。
并增加在job test2_deploy预定义的参数,这样两个job建立起了先后关系,test2 build后自动执行test_deploy,而且可以传递参数。
4. 测试结果:
upstream project test2的console out:
对应的downstream job test2_deploy的console out: