我正在运行一个名为Job A的Jenkns Job,它将其构建参数以以下格式输入到一个名为ScriptA.pl的perl脚本中:
#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####
我试图以以下方式从cshell中的Linux命令行运行此脚本,以测试执行组件是否工作:
/% ScriptA.pl jetFuel steelBeams
它认为没有输入任何参数,因为返回了此错误
PARAM1 is a required parameter.
如何从命令行将Jenkins参数正确输入到Jenkins脚本中?
答案 0 :(得分:1)
如果您无法修改Perl脚本,因此它会读取命令行参数(这将提高其一般的引导可用性),则可以创建一个简单的包装器脚本:
#/bin/sh
env PARAM1="$1" PARAM2="$2" perl ScriptA.pl
(是,sh
。在2019年,任何人都不应使用csh
。)