-
Type:
Bug
-
Status: Closed (View Workflow)
-
Priority:
Major
-
Resolution: Fixed
-
Component/s: pipeline-model-definition-plugin
-
Labels:None
-
Similar Issues:
This pipeline succeeds:
pipeline { agent any stages { stage ('Build') { steps { sh 'cat Jenkinsfile' } } } }
This pipeline fails:
pipeline { agent any stages { stage ('Build') { agent any steps { sh 'cat Jenkinsfile' } } } }
The reason this happens is that the agent inside a stage step does not do checkout scm automatically. This is very confusing behavior. Agent initialization should be consistent whether at top or inside a stage.
I would expect to do something like this to make an agent in a stage not do checkout:
pipeline { agent any options { skipDefaultCheckout() } stages { stage ('Build') { agent any options { skipDefaultCheckout() } steps { sh 'cat Jenkinsfile' } } } }
- is duplicated by
-
JENKINS-41607 Declarative: agent dockerfile fails when agent inside stage
-
- Closed
-
- relates to
-
JENKINS-41607 Declarative: agent dockerfile fails when agent inside stage
-
- Closed
-
- links to
The reasoning behind automatic checkout only happening at the top level was a conscious decision - and frankly, one I'd still advocate for. But it may make sense to have a per-stage option for "do a fresh checkout of SCM in this stage" - independent of the agent configuration. There've been some other things that have come up that may make sense as part of a stage-level options section.