如何从命令行将参数输入到Jenkins perl脚本中?

时间:2019-03-12 19:03:56

标签: perl jenkins parameters csh

背景

我正在运行一个名为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脚本中?

1 个答案:

答案 0 :(得分:1)

如果您无法修改Perl脚本,因此它会读取命令行参数(这将提高其一般的引导可用性),则可以创建一个简单的包装器脚本:

#/bin/sh
env PARAM1="$1" PARAM2="$2" perl ScriptA.pl

(是,sh。在2019年,任何人都不应使用csh。)