Environment Locking
Why Lock Environments?
┌─────────────────────────────────────────────────────────────────┐
│ Without Locking (Problem) │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Pipeline A ────────> Deploy v1.0 ─────────┐ │
│ │ │
│ Pipeline B ────────> Deploy v1.1 ────┐ │ │
│ ▼ ▼ │
│ ┌──────────────┐ │
│ │ UAT │ Conflict! │
│ │ (broken) │ │
│ └──────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ With Locking (Solution) │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Pipeline A ── Lock ──> Deploy v1.0 ── Unlock ─┐ │
│ │ │
│ Pipeline B ── Wait... ─────────────── Lock ───┼──> Deploy v1.1│
│ ▼ │
│ ┌──────────────┐ │
│ │ UAT │ │
│ │ (working) │ │
│ └──────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘How Locking Works
Lock Request Flow
Lock Properties
Property
Description
Requesting a Lock
Basic Lock Request
With Extended Duration
Acquiring the Lock
Wait for Lock (Automatic)
Releasing a Lock
Manual Release
Automatic Expiration
CI/CD Integration
GitHub Actions with Locking
Handling Lock Timeouts
Lock Queue Management
View Queue Status
Cancel a Lock Request
Lock Credentials Security
Troubleshooting
Lock Not Releasing
Stuck in Queue
"Lock already held"
Credentials Not Returned
Related Topics
Last updated