withCredentials и конвейер Jenkins: отсутствует свойство ant - PullRequest
0 голосов
/ 03 сентября 2018

Я работаю над миграцией существующей работы 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 могут быть изменены для использования существующей переменной, но дело не в этом, поскольку - даже если в этих файлах нет изменений - задание на сборку завершается неудачно как декларативный конвейер, но все равно проходит при использовании старого работа.

...