-
Bug
-
Resolution: Not A Defect
-
Major
-
None
-
Jenkins ver. 2.121.2 with up-to-date plugins
The attached Jenkinsfile can be used to reproduce this issue.
Running the Pipeline the first time, everything works as expected:
run a)
------
[Pipeline] {
[Pipeline] timestamps
[Pipeline] {
[Pipeline] stage
[Pipeline] { (one)
[Pipeline] script
[Pipeline]
[Pipeline] // script
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (two)
[Pipeline] script
[Pipeline]
[Pipeline] // script
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // timestamps
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS
If it is restarted from stage 'two', the value of the global Map member is null. I would expect to have the value from the last run there:
run b) - restart from stage two
-------------------------------
[Pipeline] timestamps
[Pipeline] {
[Pipeline] stage
[Pipeline]
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (two)
[Pipeline] script
[Pipeline]
[Pipeline] // script
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // timestamps
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS
- relates to
-
JENKINS-53193 Provide currentBuild.isRestartedRun and .isRestartedStage global variables
-
- Open
-
We also experienced this issue. We provide a shared library which has global state. Unfortunately, this state get's not restored and thus restarting is not possible. We try to restart the pipeline directly from blue ocean.
As everything anyway needs to be serializable it should be possible to store and restore the pipeline's state.