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

问题描述 投票:-1回答:1

Background

我正在运行一个名为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####

Problem

我试图通过以下方式从c shell中的Linux命令行运行此脚本来测试执行组件的工作原理:

/% ScriptA.pl jetFuel steelBeams

并且它认为没有输入参数,因为返回了此错误

PARAM1 is a required parameter.

Question

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

perl jenkins parameters csh
1个回答
1
投票

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

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

(是的,sh。没有人应该在2019年使用csh。)

© www.soinside.com 2019 - 2024. All rights reserved.