Подскажите пожалуйста, может кто сталкивался с такой проблемой:
Дано:
- JSL (Jenkins shared library)
- docker('some_image_with_ansible').inside()
При работе пайплайнов из JSL, плагин прокидывает в env билда параметр "library.${NAME}.version"
(
https://github.com/jenkinsci/workflow-cps-global-lib-plugin/blob/c206d15a960151d18c8e21d90a13944827e7ef51/src/main/java/org/jenkinsci/plugins/workflow/libs/LibrariesAction.java#L66)
Так вот, при работе с ansible, в случае, если в таске прописано делегирование
ansible_env текущей таске и таска выполняется на managed машине, будет получена ошибка:
module_stderr": "/bin/sh: library.${NAME}.version=: command not found\n",
Собственно ровно такая же ошибка будет получена, если текущий env билда попробовать вычитать в качестве source.
Ранее в случае с обычными пайплайнами вне docker.inside можно было занулить значение подобных переменных через putAt, но в случае с docker такой woraround не работает.
Т.к. плагин помещает все env переменные билда вне зависи моти от того пустые они или нет.
Переворошив кучу кода jenkins core и плагинов, я так и не смог найти способ именно удаления env из текущего TreeMap hudson.EnvVars.
Не были ло ли у кого-нибудть подобной ситуации, есть ли хоть какой-то вменяемый путь решения? Или прийдется колхозить на ansible фильтрацию env?