Jenkins 处理并发构建的环境变量

Jenkins handling for environment variables of concurrent builds

我只是想知道 Jenkins 在执行并发构建时如何处理环境变量。 documentation 列出了一组在 Jenkins 执行构建时自动设置的环境变量。但是如何确保 Jenkins 变量的唯一性(例如 build_number)?每个构建都有单独的环境吗?

简短的回答是肯定的,Jenkins 为每个构建创建一个单独的环境。

较长的答案是构建环境变量不能与操作系统环境变量混淆。首先,它们是 Jenkins 构建的所有部分都可用的变量,例如构建步骤和 post-构建操作。如果例如构建步骤启动操作系统进程(如 "Execute shell" 步骤启动 Unix shell),然后这些变量被转换为该进程可用的 OS 环境变量。而且由于 OS 隔离了每个进程,因此并发构建没有问题。