Интеграция модулей среды (файл модуля) в Jenkins Pipeline (Groovy)?

Я развертываю модули среды здесь, в своей компании, и хотел бы убедиться, что все модели использования охвачены надлежащим образом. Поскольку Groovy не поддерживается языком modulecmd.tcl, а вмешательство в базу кода невозможно, мне интересно, какой самый простой способ предоставить среду исполнителю Jenkins, основанному на source $(module load <modulefile>) (БАШ)?

Некоторые возможности:

  1. написать переводчик для stdout подпроцесса .../modulecmd.tcl bash <modulefile>
  2. написать переводчик для stdout подпроцесса module load <modulefile> | env; нужно будет сделать некоторые различия для поддержки выгрузки
  3. плагин?

Я просмотрел плагины «сценарий среды» и «инжектор среды», но не могу протестировать их без обновления Jenkins (плагины несовместимы). У меня сложилось впечатление, что сценарии поддерживаются, но их нужно выводить в определенном формате (для написания большего количества кода).

Кто-нибудь здесь смог интегрировать модули Env в конвейер или мог бы дать некоторые рекомендации относительно наилучшей практики при необходимости импорта среды, изначально основанной на выводе исходного сценария, специфичного для оболочки/интерпретатора?

1 ответ

Теперь есть билет на поддержку Groovy в модулях среды: https://github.com/cea-hpc/modules/issues/446 .

Другие вопросы по тегам