Я пытаюсь получить команду оболочки с конвейерами, работающими с конвейерами Jenkins.Это связано с: конвейер Jenkins sh, похоже, не учитывает pipe в команде оболочки .Я также обнаружил: трубопровод Дженкинса, bash и pipe
Однако мой успех с ним не увенчался успехом.Я могу буквально скопировать / вставить разрешение первого сообщения в моем конвейере, и оно работает (по крайней мере, оно пытается выполнить оболочку, происходит сбой из-за отсутствия pom.xml).
Когда я пытаюсь изменитьКомандная оболочка, в зависимости от моих потребностей, не работает:
def bgd_discovery = $/eval "cf apps | grep ${appHost}.${host} | cut -d ' ' -f 1 | sed 's/${args.appName}-bgd//'"/$
echo "${bgd_discovery}"
Jenkins выдает ошибку метода DSL:
java.lang.NoSuchMethodError: No such DSL method 'eval "cf apps | grep [...app host...] | cut -d ' ' -f 1 | sed 's' found among steps [...]
Кажется, что сначала он останавливается /
sed, но это не такпроблема, потому что это работает (из первого поста):
def ver_script = $/eval "sed -n '/<version>/,/<version/p' pom.xml | head -1 | sed 's/[[:blank:]]*<\/*version>//g'"/$
Интересно, что вот еще один признак проблемы: добавленный дефис в конце sed
регулярного выражения
def bgd_discovery = $/eval "cf apps | grep ${appHost}.${host} | cut -d ' ' -f 1 | sed 's/${args.appName}-bgd-//'"/$
Произвел эту ошибку:
WorkflowScript: 26: expecting '}', found '' @ line 26, column 10.
echo "${bgd_discovery}"
Я не могу понять, что не так.