Game DesignerBeta
Create and publish mobile games with a prompt-first workflow.
Use Cases
Roles
Get Help
Learn & Explore
Events
bldrBattle Overview
Start here for the competition format, rules, and how to join.
bldrBattle: Spark
Explore the Spark event experience, schedule, and entry details.
bldrBattle: Force
See the working-pro event, prizes, and what competitors can expect.
All Events
Browse every upcoming and current event in one place.
Learn deployment patterns, CI/CD setup, and how to ship features with confidence while maintaining system stability.
Old way: Developers write code. Operations deploys it. When something breaks, they blame each other.
DevOps way: Development and Operations collaborate. Developers feel responsibility for production. Operations enables deployment, not blocks it.
Every code change triggers an automated pipeline:
Developer pushes code
↓
Automated tests run
↓
Build check (does it compile?)
↓
Linting and security scan
↓
Pass? Merge to main
Fail? Reject, notify developer
Benefits:
Code that passes CI is ready to ship but requires human approval.
Merged code
↓
Deploy to staging environment
↓
PMs/QA verify in staging
↓
Approve for production
↓
One-click deploy to prod
Every merged code deploys to production automatically. Requires:
Most teams should aim for Continuous Delivery, not Deployment.
Keep two identical production environments running:
┌─────────────┐ ┌─────────────┐
│ BLUE │ │ GREEN │
│ (Current) │────→│ (New) │
│ Users here │ │ Deploy here │
└─────────────┘ └─────────────┘
All good? Switch traffic to GREEN.
Problem? Switch back to BLUE instantly.
Advantages:
Roll out to a small % of users first:
Day 1: 1% of users see new feature
↓ [Monitor for errors]
Day 2: 10% of users see new feature
↓ [Monitor for errors]
Day 3: 50% of users
↓ [Monitor for errors]
Day 4: 100% of users
If error rate increases at any step, halt rollout and investigate.
Deploy code to production but hide behind a flag:
if (featureFlags.newCheckoutFlow) {
showNewCheckout();
} else {
showOldCheckout();
}
Usage:
Database changes are the scariest part of deployments. Approach:
Phase 1: Expand (Backward Compatible)
Example:
-- Add new column
ALTER TABLE users ADD COLUMN email_verified BOOLEAN DEFAULT false;
-- Old code: SELECT * FROM users (still works)
-- New code: SELECT *, email_verified FROM users (uses new field)
-- After all code using new column ships...
-- Remove old column (if applicable)
Availability
Performance
Business
Infrastructure
Too many alerts = alert fatigue = ignored alerts = missed real issues
Rule: Every alert should be actionable and urgent.
❌ Bad alert: "Memory is 75%" (maybe it's fine, maybe it's not)
✅ Good alert: "Memory > 85% for 5 minutes — restart app?" (clear action)
staging branchmain + click button = deployBefore you hit "deploy":
❌ Deploying on Friday afternoon without monitoring coverage
❌ No rollback plan — "Umm, how do I undo this?"
❌ Database changes without migration scripts — Manual work, error-prone
❌ No monitoring — "App is fine... oh wait, it's been down for 2 hours"
❌ All-or-nothing deploys — Big changes = high risk
Goal: Ship 10x faster, with more confidence.