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

Мой план состоит из множества заданий и множества скриптовых заданий в каждом из этих заданий.

Большинство из этих задач скрипта основаны на тех же 5 или 6 модулях, которые я загружаю каждый раз, например:

"загрузка модуля python/argparse_py2.7/1.2.1 загрузка модуля python/python/2.7.13"

Вместо того, чтобы загружать эти модули среды для каждой задачи, есть ли способ загрузить их один раз, и все ли последующие задачи смогут получить к ним доступ?

1 ответ

Решение

Как только вы загружаете модуль из сценария или сеанса интерактивной оболочки, этот модуль остается загруженным до конца сценария или сеанса, и он также все еще загружается в контексте подпрограммы, запускаемой основным или вложенными оболочками, запускаемой основной сеанс.

Поэтому в контексте сценария, где вы запускаете много подзадач / сценариев, вы должны поместить module load Команды в начале скрипта для получения этих модулей разрешают для остальной части выполнения или суб-выполнения.

Это также верно для сеанса интерактивной оболочки.

Кроме того, новые версии module Команда предоставить способ save контекст загруженного модуля и restore позже (в скрипте или в других сеансах оболочки).

Вот небольшой пример использования коллекции модулей:

$ module purge
$ module load python/argparse_py2.7/1.2.1 python/python/2.7.13
$ module save pythonjobenv
$ module savelist
Named collection list:
 1) pythonjobenv
$ module purge
$ module restore pythonjobenv
Restoring collection pythonjobenv
  Loading module: python/argparse_py2.7/1.2.1 python/python/2.7.13
Другие вопросы по тегам