Я пытаюсь выполнить код из шага Дженкинса.
Кажется, что скрипт завершается неудачно, когда nslookup пытается найти первую зону, которую он получает из моего файла export_zones.csv ...
Во время выполнения того же сценария из командной строки все в порядке.
Я уже пытался перенаправить stderr на ноль.
...
for (i = 0; i < listOfServer.size(); i++) {
def cmd = """\
cd ...;
for zone in \$(grep -v 'ZoneName' export_zones.csv | cut -d';' -f1); do nslookup -timeout=1 -retry=0 ${listOfServer[i]}.\${zone} xxx.yyy.www.zzz | egrep '^Name'; done;
"""
def serverName = sh returnStdout: true, script: cmd
...
Выход от Дженкинса:
[test] Running shell script
+ cd ...
++ grep -v ZoneName export_zones.csv
++ cut '-d;' -f1
+ for zone in '$(grep -v '\''ZoneName'\'' export_zones.csv | cut -d'\'';'\'' -f1)'
+ nslookup -timeout=1 -retry=0 myhostname.myzone xxx.yyy.www.zzz
+ egrep '^Name'
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: script returned exit code 1
Finished: FAILURE
Как вы видите, скрипт завершается неудачно, когда nslookup пытается найти первую зону, которую он получает из файла export_zones.csv ...
При выполнении того же сценария из командной строки все в порядке:
abc:~/test > for zone in $(grep -v 'ZoneName' export_zones.csv | cut -d';' -f1); do nslookup -timeout=1 -retry=0 myhostname.${zone} xxx.yyy.www.zzz | egrep '^Name'; done;
Name: myhostname.aaa.bbb
Может ли кто-нибудь помочь мне понять, почему бег от Дженкинса имеет другое поведение?
Заранее спасибо