我正在运行一个名为Job A的Jenkins Job,它将构建参数提供给perl脚本,名为ScriptA.pl,格式如下:
#Check the input params
my $PARAM1 = $ENV{ "PARAM1" };
my $PARAM2 = $ENV{ "PARAM2" };
.....more params fed in the same way
if ( $PARAM1 eq "" ) {
print "PARAM1 is a required parameter.\n";
exit 1;
}
if ( $PARAM2 eq "" ) {
print "PARAM2 is a required parameter.\n";
exit 1;
}
.....more param checks done in the same way
###Script then runs a bunch of execution statements####
我试图通过以下方式从c shell中的Linux命令行运行此脚本来测试执行组件的工作原理:
/% ScriptA.pl jetFuel steelBeams
并且它认为没有输入参数,因为返回了此错误
PARAM1 is a required parameter.
如何从命令行将Jenkins参数正确输入到Jenkins脚本中?
如果您无法修改Perl脚本以使其读取命令行参数(这将提高其一般的引导可用性),则可以创建一个简单的包装器脚本:
#/bin/sh
env PARAM1="$1" PARAM2="$2" perl ScriptA.pl
(是的,sh
。没有人应该在2019年使用csh
。)