Bamboo - 如何在作业中的任务之间共享环境模块而不为每个任务加载它们?

Bamboo - How can I share environment modules between tasks in a job without loading them for every task?

我的计划包括许多作业和每个作业中的许多脚本任务。

大多数这些脚本任务都依赖于我每次加载的相同的 5 或 6 个模块,例如:

”模块加载python/argparse_py2.7/1.2.1 模块加载 python/python/2.7.13"

不是必须为每个任务加载这些环境模块,有没有办法加载它们一次并让所有后续任务都能够访问它们?

从脚本或交互式 shell 会话中加载模块后,该模块会在脚本或会话的其余部分保持加载状态,并且在由主会话启动的主要或子shells。

因此,在启动许多 sub-tasks/scripts 的脚本上下文中,您应该将 module load 命令放在脚本的开头附近,以便为其余的执行或子任务启用这些模块处决。

这对交互式 shell 会话也有效。

此外,module 命令的新版本 provide a waysave 加载的模块上下文和 restore 它稍后(在脚本或其他 shell 会话)。

这里有一个模块集合使用的小例子:

$ 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