Я работаю над миграцией существующей работы Jenkins, которая запускает maven и ant. В задании jenkins используется привязка учетных данных .
Устанавливает одну переменную для имени пользователя и одну переменную для пароля, указанного в учетных данных.
Плагин устанавливает следующие переменные:
- test.target.user
- test.target.password
При запуске задания сборки ant echoproperties дважды перечисляет переменную
01:26:21 [echoproperties] #Ant properties
01:26:21 [echoproperties] #Fri Aug 31 01:26:22 CEST 2018
01:26:21 [echoproperties] env.mgr.target.user=****
01:26:21 [echoproperties] mgr.target.user=****
При переключении на конвейер jenkins (декларативный) привязка учетных данных используется так же:
withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'my.user',
usernameVariable: 'mgr.target.user',
passwordVariable: 'mgr.target.password']]) {
Но здесь переменная доступна только как env.mgr.target.user
, но не как mgr.target.user
01:30:31 [echoproperties] #Ant properties
01:30:31 [echoproperties] #Fri Aug 31 01:30:32 CEST 2018
01:30:31 [echoproperties] env.mgr.target.user=****
В результате сбой задания сборки приводит к тому, что задача maven / ant работает, так как ant не находит свойство mgr.target.user
Я хотел бы понять, почему в одном задании переменная доступна 2, а при использовании декларативного конвейера - нет.
Очевидно, что нижележащие файлы maven / ant могут быть изменены для использования существующей переменной, но дело не в этом, поскольку - даже если в этих файлах нет изменений - задание на сборку завершается неудачно как декларативный конвейер, но все равно проходит при использовании старого работа.