Concept and mechanism
A pipeline coordinates actions that can have effects outside Jenkins. If connectivity fails after a request is sent, a timeout does not establish remote failure. Before retrying, identify the last confirmed effect and whether the outcome can be queried by correlation. Idempotent or deduplicated operations allow repetition under known conditions; others need reconciliation or compensation. Pipeline-engine durability is a separate dimension. Performance-oriented settings can reduce persistence and resumption capability after an abrupt stop. No setting automatically makes deployment duplicate-free or guarantees functional health of the delivered service. Document uncertain outcomes so a new operator does not mistake them for confirmed failures.
Guided application
In a fictional release, promote the validated artifact with immutable identity and verify the deployed digest. Rebuilding a moving branch can produce different contents. Define explicit gates: catchError can allow report collection without authorizing deployment after critical failure. If human approval takes time, use a design without a global agent and place the decision before expensive resource allocation, with a deadline and escalation. disableConcurrentBuilds serializes runs of one job but does not stop another job using the same environment. Shared resources require suitable coordination across consumers. After delivery, confirm service indicators and rollback conditions rather than inferring success only from the pipeline’s final color.
Timeout after an accepted request: query the target before repeating a non-idempotent change.
Common pitfalls
Retry as automatic recovery; green as health; job lock as global lock; elapsed time as approval.
Related topics: Architecture, agents, and traceability · Credentials and trust boundaries · Pipeline: scope, timing, and evidence
Preserve the link between decision, artifact, external effect, and observed outcome.
Reference: Stash retry and basic Pipeline steps · Jenkins LTS 2.568.3; Java 21 or 25 runtime