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.