Defining essential terms like Pipeline, Stage, Job, Artifact, and Agent.
To effectively work with CI/CD systems, it's crucial to understand their common terminology. A 'Pipeline' is the central concept; it defines the entire set of automated steps, from code commit to deployment. It's a workflow composed of sequential or parallel stages. A 'Stage' represents a major division in the pipeline, such as 'Build', 'Test', or 'Deploy'. Stages are used to logically group related tasks. For example, the 'Test' stage might include unit tests, integration tests, and security scans. If any step within a stage fails, the entire stage typically fails, and the pipeline stops. A 'Job' (or 'Step') is the smallest unit of work within a stage. It's a specific command or script that needs to be executed, like 'npm install' or 'mvn clean package'. Jobs within a stage can often run in parallel to speed up the pipeline. An 'Artifact' is a file or collection of files produced during a pipeline run, such as a compiled binary, a JAR file, a Docker image, or a test report. These artifacts are often passed between stages; for instance, the artifact created in the 'Build' stage is used in the 'Deploy' stage. Finally, an 'Agent' (also known as a 'Runner' or 'Node') is the machine or container that executes the jobs in your pipeline. Agents can be self-hosted or managed by the CI/CD provider, and you can configure them with specific tools and environments needed for your project.