node allocates an executor on a Jenkins node (aka a slave) and runs code in the context of the workspace on that node.
Another wrinkle on
node‘s. There is also the concept of flyweight and heavyweight executors. A flyweight executor is just a thread and runs inside the Java master’s JVM. A heavyweight executor is a process (e.g.
sh ) and will halt the flow on the master so should be allocated to a node. From the docs:
It is recommended to allocate executors to agent machines, rather than on the Jenkins master – to avoid potential security vulnerabilities, Out-Of-Memory and other performance issues. To do this, configure the “# of executors” to ‘0’ on the “master” node (by default this setting is ‘2’).
stage creates a labelled block and show up as columns in the Pipeline Stage view.
See also Jenkins: milestone plugin and this post on Stage vs Lock vs Milestone.
A step is a single action. When a step succeeds it moves onto the next step. When a step fails to execute correctly the Pipeline will fail.
Note also the keyword