CJE key terms
CJE · Get comfortable with the vocabulary.
- Jenkins WAR file
- Related: JENKINS_HOME, Jenkins CLI
A Java web application archive that contains the Jenkins core and can be run standalone with java -jar or deployed to a servlet container. It is the standard distribution format and includes the embedded Jetty server for standalone execution.
- JENKINS_HOME
- Related: Jenkins WAR file, Plugin Manager
The directory where Jenkins stores all configuration, job definitions, build records, plugins, and user data. Its location is set via the JENKINS_HOME environment variable or system property and is critical for backups and migrations.
- Jenkins CLI
- Related: Jenkins WAR file, Script Console
A command-line interface that allows administrators to interact with a Jenkins instance remotely, for example to create jobs, trigger builds, or install plugins. It is accessed via the jenkins-cli.jar client and supports authentication and SSH modes.
- Plugin Manager
- Related: Update Center, Plugin Dependencies
The Jenkins UI and API for installing, updating, and removing plugins. It resolves dependencies, shows available updates, and can be configured for offline or behind-a-proxy installations. It is essential for extending Jenkins functionality.
- Update Center
- Related: Plugin Manager, Plugin Dependencies
A remote repository of plugin and core metadata that Jenkins queries to discover available plugins and updates. It can be mirrored internally for air-gapped environments. The default is the Jenkins project's public update site.
- Plugin Dependencies
- Related: Plugin Manager, Update Center
The set of other plugins that a given plugin requires to function. Jenkins automatically resolves and installs these when possible, but version conflicts can cause startup failures. Administrators must manage them during upgrades.
- Matrix-based security
- Related: Role-based Access Control, Authentication Realm
A Jenkins authorization strategy that lets administrators assign permissions to users and groups in a grid. Each row represents a user or group, and each column represents a permission such as Job/Build or Overall/Administer. It provides fine-grained control.
- Role-based Access Control (RBAC)
- Related: Matrix-based security, Authentication Realm
An authorization model where permissions are assigned to roles, and roles are assigned to users or groups. In Jenkins, this is typically implemented via the Role Strategy plugin, which allows defining global, item, and agent roles for granular access management.
- Authentication Realm
- Related: Matrix-based security, Role-based Access Control
The configured source of user identities in Jenkins, such as Jenkins' own user database, LDAP, Active Directory, or OAuth. It determines how users log in and is separate from authorization, which decides what they can do.
- API Token
- Related: Credentials Plugin, Authentication Realm
A secret token associated with a Jenkins user that can be used instead of a password for API authentication. It is commonly used in scripts and integrations to avoid exposing the user's actual password. Tokens can be revoked individually.
- Credentials Plugin
- Related: API Token, Folder
A core plugin that provides a centralized store for secrets such as usernames, passwords, SSH keys, and secret files. Credentials are scoped to Jenkins globally or to specific folders and are referenced in jobs by their ID.
- Freestyle job
- Related: Pipeline job, Build Trigger
A traditional Jenkins job type that offers a web form for configuring source control, triggers, build steps, and post-build actions. It is simple to set up but less flexible than Pipeline for complex workflows. It remains widely used for simple tasks.
- Pipeline job
- Related: Jenkinsfile, Declarative Pipeline, Freestyle job
A Jenkins job type that runs a scripted or declarative pipeline defined in code. It supports complex workflows, stages, and parallel execution, and the pipeline definition can be stored in a Jenkinsfile under source control.
- Parameterized build
- Related: Build Trigger, Environment Variables
A build that accepts user-defined parameters at trigger time, such as string, boolean, or choice inputs. Parameters are exposed as environment variables to build steps. They enable reuse of a single job for multiple scenarios.
- Build Trigger
- Related: Webhook, SCM Polling, Parameterized build
A mechanism that automatically starts a build, such as polling SCM, a webhook, a schedule (cron), or an upstream job. Triggers are configured per job and determine when Jenkins executes the build. They are essential for continuous integration.
- Jenkinsfile
- Related: Declarative Pipeline, Scripted Pipeline, Multibranch Pipeline
A text file that contains the definition of a Jenkins Pipeline, typically stored in the root of a source code repository. It enables pipeline-as-code, allowing the build process to be versioned alongside the application code.
- Declarative Pipeline
- Related: Scripted Pipeline, Jenkinsfile
A structured pipeline syntax introduced in Pipeline 2.5 that uses a predefined hierarchy of blocks such as pipeline, agent, stages, and steps. It is easier to read and validate than scripted syntax and is the recommended approach for most users.
- Scripted Pipeline
- Related: Declarative Pipeline, Jenkinsfile
The original Pipeline syntax based on Groovy that uses a node block and imperative programming constructs. It offers maximum flexibility but requires more programming knowledge and lacks built-in validation of structure.
- Shared Library
- Related: Jenkinsfile, Folder
A collection of reusable Groovy code stored in a separate source control repository that can be loaded into Pipelines. It promotes DRY principles by centralizing common pipeline logic and is configured globally or per folder.
- Multibranch Pipeline
- Related: Jenkinsfile, GitHub Organization Folder
A job type that automatically discovers branches and pull requests in a repository that contain a Jenkinsfile, creating a sub-job for each. It enables branch-specific builds and is central to modern CI workflows.
- Webhook
- Related: SCM Polling, Build Trigger
An HTTP callback sent by a source control provider to Jenkins to notify it of events such as pushes or pull requests. Jenkins uses the payload to trigger builds immediately, reducing latency compared to polling. Webhooks require network accessibility and proper authentication.
- SCM Polling
- Related: Webhook, Build Trigger
A trigger mechanism where Jenkins periodically checks the source control repository for changes and starts a build if modifications are detected. It is simpler to set up than webhooks but introduces delay and unnecessary load.
- GitHub Organization Folder
- Related: Multibranch Pipeline, Webhook
A Jenkins item that scans a GitHub organization or user account, automatically creating Multibranch Pipeline jobs for repositories that contain a Jenkinsfile. It simplifies onboarding of many repositories and supports automatic branch and PR discovery.
- Build Agent
- Related: Cloud Agent, SSH Agent, Agent Label
A machine or container that executes builds on behalf of the Jenkins controller. Agents can be static (permanently connected) or dynamic (provisioned on demand), and they distribute workload to improve scalability and isolate build environments.
- Cloud Agent
- Related: Build Agent, Agent Label
A build agent that is dynamically provisioned in a cloud environment, such as a virtual machine or container, and terminated after use. This approach, often implemented via plugins like Kubernetes or EC2, provides elastic scalability and cost efficiency.
- Agent Label
- Related: Build Agent, Cloud Agent
A tag assigned to agents to control which jobs can run on them. Jobs specify a label expression to restrict execution to agents with matching labels. Labels are essential for routing builds to appropriate environments.
- SSH Agent
- Related: Build Agent, Agent Label
A method of connecting a build agent to the controller over SSH. The controller uses SSH keys to authenticate and launch the agent process. It is a common approach for managing static Unix-like agents securely.
- Artifact Archiving
- Related: Workspace, Build Record
The process of saving build outputs (such as binaries or reports) in Jenkins so they can be downloaded later. Archived artifacts are stored on the controller and are subject to retention policies. They are accessible via the build's web page.
- JUnit Plugin
- Related: Artifact Archiving, Pipeline job
A plugin that publishes JUnit-format test results, providing trends, failure analysis, and a web UI for test reports. It is fundamental for visualizing test outcomes in Jenkins and integrates with Pipeline via the junit step.
- Workspace
- Related: Artifact Archiving, Build Agent
A directory on a build agent where Jenkins checks out source code and runs build steps for a job. Each job has its own workspace, which persists between builds unless cleaned. Workspaces can be shared across parallel builds with caution.
- Build Record
- Related: Artifact Archiving, Log Rotation
The stored metadata and logs for a single build, including console output, duration, result, and archived artifacts. Build records are kept according to retention settings and are essential for auditing and troubleshooting.
- Log Rotation
- Related: Build Record, Disk Space Management
A configuration that limits the number of build records and console logs kept for a job, preventing unbounded disk usage. It can be set by count or age. Proper log rotation is critical for maintaining Jenkins performance.
- Script Console
- Related: Jenkins CLI, Log Rotation
A web-based Groovy script execution interface available to administrators at /script. It is powerful for diagnosing issues, modifying configuration, and automating maintenance tasks. Access should be restricted due to its security implications.
- Disk Space Management
- Related: Log Rotation, Workspace
The practice of monitoring and controlling disk usage in JENKINS_HOME, including workspaces, build records, and artifacts. Tools like the Disk Usage plugin help identify large items. Neglect can lead to build failures and instability.
- Folder
- Related: Credentials Plugin, Shared Library
A Jenkins organizational container that groups jobs and provides scoped configuration, including credentials and shared libraries. Folders enable hierarchical project structures and simplify permission management through inheritance.
- Environment Variables
- Related: Parameterized build, Jenkinsfile
Named values available to build steps during execution, such as BUILD_NUMBER or custom variables set in job configuration. They facilitate parameterization and integration with scripts. Jenkins provides many built-in variables.
- Node
- Related: Build Agent, Agent Label
A machine that is part of the Jenkins architecture, either the controller (built-in node) or an agent. Nodes are configured with labels and executors. The term is often used interchangeably with agent, but technically the controller is also a node.