-
Bug
-
Resolution: Unresolved
-
Major
-
None
Effective in 2.1.5 (and possibly earlier) the behaviour of multiple invocations of envInject has changed. We are experiencing a regression issue in multiple jobs.
It appears that the second invocation of envInject "undoes" the settings laid down in the previous invocation, but only for values that we set in GenerateEnv. Prior to this, settings were additive, and in fact, they are for values that are NOT in the generate step.
For example :
Generate :
VAR1=A
(works, subsequent steps see VAR=A)
EnvInject :
VAR1=B
VAR2=C
(works, subsequent steps see VAR1=B VAR2=C)
EnvInject :
VAR3=D
(fails, subsequent steps see VAR1=A, VAR2=C, VAR3=D)
Taking a guess, and assuming that the system keeps a list of variables to playback at the beginning of each step, it feels like the env playback is adding the base env settings from generate before each envInject,
> GenList+Inject1
> GenList+Inject1+GenList+Inject2
> GenList+Inject1+GenList+Inject2+GenList+Inject3
and the effect is that settings in Inject1 that overrode GenList will only work after the first inject.
We are seeing this behaviour in multiple builds after upgrading to 2.73 Jenkins and 2.1.5 envInject
- duplicates
-
JENKINS-47370 Unable to override global envs after update to 2.1.4
- Closed
- is duplicated by
-
JENKINS-53213 Adjustments of ENV variables created by the EnvInject plugin are not carried over to new shell steps in a freestyle build.
- Closed