Pipeline
It is a series of tasks required to build, test, publish or deploy an application.
A Pipeline’s code defines your entire build process, which typically includes stages for building an application, testing it and then delivering it.
It runs the entire software development workflow as code.
In simple words, it is start to finish of your software development process right from how do you get your application from source control like Git into production.
Node: A node is a machine that executes an entire workflow. It is a key part of the scripted pipeline syntax.
Agent: instructs Jenkins to allocate an executor for the builds. It is defined for an entire pipeline or a specific stage.
Stage
It is a step for defining a conceptually distinct subset of the entire Pipeline, for example:
“Build”, “Test”, and “Deploy”, which is used by many plugins to visualize or present Jenkins Pipeline status/progress. It is a section of the Pipeline such as build, test, publish, deploy.
Step
A step in each stage is the specific instructions to execute the stage.