Q: You need to build a multi-stage pipeline where the deployment to production requires manual approval, but the approval should expire after 24 hours if not taken. How do you implement this in Jenkins?
Use Jenkins input step with a timeout:
#CI/CD #Jenkins & Pipeline Configuration #L3 #DevOps #Automation #Pipelines
🎙️ Candidate Opening & Architectural Context
""During a high-stakes release, we hit a similar deployment challenge and resolved it with automated safeguards. When addressing this question, I walk the interviewer through our production incident runbook: isolating the blast radius, checking diagnostic logs and metrics, and applying a safe fix.""
Advertisement
🛠️ Production Runbook & Step-by-Step Resolution
1️⃣
Production Solution & Architecture
Use Jenkins input step with a timeout: If no one approves within 24 hours, the pipeline fails (or you can handle the timeout with a try/catch to abort gracefully). Notify the approver: use a Slack or email notification step before the input step so approvers know action is needed. --- ## 🟡 GitHub Actions
stage('Deploy to Production') {
steps {
timeout(time: 24, unit: 'HOURS') {
input message: 'Deploy to Production?',
ok: 'Proceed',
submitterParameter: 'APPROVER'
}
echo "Approved by: ${APPROVER}"
// deploy steps
}
}
💡 The Senior SRE Gold Nugget (Key Architectural Takeaway)
"Pro-Tip: Use Jenkins input step with a timeout:."
⚡ 60-Second Elevator Pitch Talking Points
- Immediate Triage: Use Jenkins input step with a timeout:
- Run targeted verification commands before modifying configuration.
- Automate permanent guardrails (CI check, alerts, IaC policy) to prevent recurrence.
Advertisement