CJE study materials
CJE study resources

CJE flashcards

CJE · Build recall with a focused review session.

32 cards. Read the term and the definition here. The deck at the top of this page is optional.

Initial admin password location
The setup wizard reads the first-run password from $JENKINS_HOME/secrets/initialAdminPassword. After the wizard completes and an admin user is created, Jenkins deletes that file, so it cannot be reused later.
Quiet mode before restart
Quiet mode stops scheduling new builds while allowing queued and running builds to finish. Operators enable it, wait for executors to drain, then trigger a safe restart to avoid killing in-flight work.
Configuration as Code managed settings
When JCasC loads jenkins.yaml, the settings it defines become managed and read-only in the UI. Editing them in the browser is overwritten on the next config reload, so changes must go through the YAML.
Safe restart versus restart
Safe restart waits for running builds to complete before shutting the controller down, while a plain restart terminates them. Safe restart is the normal choice after plugin or core updates.
Matrix versus project-based matrix
Matrix-based security assigns permissions globally per user or group. Project-based matrix authorization adds per-job or per-folder overrides, letting one job grant access that the global matrix denies.
API token authentication
Each user can generate API tokens that authenticate HTTP and CLI requests in place of the account password. Tokens inherit the user's permissions and can be revoked individually without changing the password.
Agent-to-controller security subsystem
This subsystem restricts what build agents may access on the controller, such as file system paths and certain commands. It limits damage if an agent is compromised, and the TCP agent port should also be firewalled.
Multibranch pipeline behavior
A multibranch pipeline scans a repository and creates a child job for each branch or pull request containing a Jenkinsfile. Jobs for deleted branches are removed automatically during later scans.
Build discarder configuration
Build discarders cap stored builds by total count, by age in days, or both. In pipelines they must be declared with the buildDiscarder option, otherwise build history and disk usage grow without limit.
Parameter evaluation timing
Parameters are resolved once when the build is queued or started and exposed as environment variables. Changing a parameter value mid-build does not affect the running build's environment.
Declarative post conditions
The post block runs after stages and supports always, success, failure, unstable, aborted, and changed. Each condition runs its steps only when the build result matches, which centralizes cleanup and notification logic.
Shared library loading syntax
Libraries are imported with @Library('name@version') _ at the top of a Jenkinsfile. Global steps defined in vars/ become callable, and classes in src/ are available as Groovy imports.
Credentials binding in pipelines
withCredentials binds secret values only inside its block and masks them in logs. Using environment { X = credentials('id') } also creates X_USR and X_PSW for username/password credentials.
Pipeline input step timeout
The input step pauses a stage until a user approves or supplies parameters. Without a timeout option the build can wait indefinitely and hold an executor, so timeouts are recommended.
GitHub webhook endpoint
GitHub delivers push and pull-request events to the Jenkins URL ending in /github-webhook/. The endpoint must be reachable from GitHub, and a shared secret can be configured to validate payloads.
SCM polling cron syntax
Polling schedules use five-field cron syntax, with H spreading load across the interval. Polling is a fallback when webhooks cannot reach Jenkins, since it detects changes only on the next poll.
Multibranch scan versus build trigger
Scan triggers discover branches and Jenkinsfiles and create or delete child jobs. Build triggers start builds on discovered branches. A new branch is not built until a scan has found it.
Shallow clone option
The Git plugin can clone with a limited history depth. Shallow clones reduce checkout time and disk use, but some build steps that inspect history, such as changelog or tag operations, may behave differently.
Agent connection protocols
Agents reach the controller over inbound TCP on port 50000, inbound SSH, or outbound WebSocket. WebSocket is preferred when agents sit behind firewalls that block inbound connections.
Agent label expressions
Label expressions combine labels with && and ||, such as linux && docker. Jenkins schedules a build only on nodes whose labels satisfy the expression, so mismatched labels leave builds queued.
Controller executor count
The controller's executor count sets how many builds run on the controller itself. Production setups usually set it to zero so builds run only on agents, keeping the controller responsive.
Kubernetes plugin pod template
The Kubernetes plugin creates agent pods on demand from a pod template. Settings such as idleMinutes and instanceCap control when idle pods are removed and how many run at once.
Ephemeral cloud agent consequences
Cloud agents are destroyed after their build, so their workspace does not persist. Anything needed later must be archived as an artifact, stashed within the build, or pushed to external storage.
archiveArtifacts and fingerprinting
archiveArtifacts copies files into the build's artifacts directory for later download. Enabling fingerprinting records which builds produced and consumed each file, supporting traceability across pipelines.
JUnit result publishing
The junit step parses XML test reports matching a glob pattern. It records pass and fail counts, marks the build unstable when tests fail, and links failures to the build's test result page.
Stash versus artifact
Stash and unstash move files between stages and nodes inside a single build. Stashes are temporary and not durable, so long-term outputs must be archived as artifacts or published to a repository.
Plugin dependency and core version
Each plugin declares a minimum Jenkins core version and its own dependencies. Installing it may force a core upgrade or pull additional plugins, so compatibility is checked before updating.
Thread dump for hangs
A thread dump from /threadDump or jstack shows what each JVM thread is doing. Blocked executor threads, deadlocks, and stuck remoting channels appear directly, making it the first step for hangs.
Support bundle contents
The support bundle gathers logs, configuration files, thread dumps, and plugin lists into one archive. It helps diagnose and escalate issues while filtering out sensitive values where configured.
Disk space as outage cause
Workspaces and archived artifacts consume the most disk on a busy controller or agent. Build discarders, workspace cleanup steps, and periodic pruning prevent the disk-full failures that stop builds.
Monitoring plugin metrics
The monitoring plugin exposes JVM heap, garbage collection, executor utilization, and HTTP response times. Rising heap and long GC pauses often precede controller slowdowns and failed builds.
Script console risk
The Groovy script console runs arbitrary code with controller privileges, so it can clear queues or rewrite configuration. It is powerful for repair, but mistakes can corrupt state, so use it cautiously.