Как мне ввести параметры в Perl-скрипт Jenkins из командной строки? - PullRequest
0 голосов
/ 12 марта 2019

Фон

Я запускаю задание Jenkns, называемое заданием A, которое передает свои параметры сборки в скрипт 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####

Задача

Я пытаюсь запустить этот скрипт из командной строки Linux в cshell следующим образом, чтобы проверить, работает ли исполняющий компонент:

/% ScriptA.pl jetFuel steelBeams

И он считает, что параметры не были введены, так как эта ошибка возвращается

PARAM1 is a required parameter.

Вопрос

Как правильно ввести параметры Jenkins в сценарий Jenkins из командной строки?

1 Ответ

1 голос
/ 12 марта 2019

Если вы не можете изменить скрипт Perl, чтобы он считывал параметры командной строки (что улучшило бы его простоту использования при загрузке), возможно, создайте простой скрипт-обертку:

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

(Да, sh. Никто не должен использовать csh для чего-либо в 2019 году.)

...