BM: Baca dalam Bahasa Melayu
World 6: Team Workflows
Release and hotfix drills
You will learn: the calm steps to ship a release, and to fix a live bug fast.
The problem
Friday, 5 pm. Version 2.4.0 is live. Customers tap Pay, and nothing happens. How do you fix it fast, without panic?
Watch
Tap each point on the timeline.
First, the calm part. A release is a version you ship to users. Good teams follow the same short drill every time.
Try it
Build the command that tags this release.
Tap the pieces in the right order.
Hint
tag, then -a, then the version. The message comes last.Watch
Now the fast part. A hotfix: A small, urgent fix for code that is already live. is a small, urgent fix for live code. Branch from the live version. Fix only the bug.
Try it
Put the hotfix drill in order.
First step at the top. Put these in order. Use the arrows, or drag.
- Merge, tag v2.4.1 and deploy
- Branch from the live version
- Write down what went wrong, without blame
- Check the bug and how bad it is
- Open a PR for a quick review
- Fix it and add a test
Hint
Understand the bug first. Learn from it last.Try it
You made hotfix/pay-button from the v2.4.0 tag. The fix in pay.js is ready. Commit it with a fix: label.
- Empty
- 3 save points
- feat: add card payment
- feat: add cart
- feat: add menu page
Hint
Rungit diff to see the fix. Then git add pay.js and commit.Predict
2.4.0 is live. You ship this hotfix. What is the new version?
Pick one answer.
Check
Hotfix now, or wait for the next release?
Drag a card into a box. Or tap the card, then tap the box.
You did it!
You can now run a calm release and a fast hotfix.
Go deeper (optional)
In Git Flow, merge the hotfix into develop too. If not, the bug comes back next release. Trunk-based teams fix main first. Then they copy the fix to the release branch with git cherry-pick. On GitHub, a Release adds notes to a tag. GitHub can draft those notes for you.
Bahasa Melayu
Jumaat, 5 petang. Versi 2.4.0 dah live. Pelanggan tekan Bayar, dan tiada apa berlaku. Macam mana nak baiki cepat, tanpa panik?
Mula-mula, bahagian yang tenang. Release (keluaran) ialah versi yang anda hantar kepada pengguna. Pasukan yang bagus ikut latihan pendek yang sama setiap kali.
Bina arahan untuk letak tag pada release ini.
Sekarang bahagian yang laju. Hotfix ialah pembaikan kecil dan segera untuk kod live. Buat branch (cabang) dari versi live. Baiki bug itu sahaja.
Susun latihan hotfix ikut turutan.
Anda dah buat hotfix/pay-button dari tag v2.4.0. Pembaikan dalam pay.js dah sedia. Commit dengan label fix:.
git diff untuk tengok pembaikan. Kemudian git add pay.js dan commit.2.4.0 dah live. Anda hantar hotfix ini. Apa versi baharunya?
Hotfix sekarang, atau tunggu release seterusnya?
Kini anda boleh jalankan release yang tenang dan hotfix yang laju.
You finished this before. Practice is always welcome!
Official docs: git tag · git cherry-pick · About releases · Automatically generated release notes · Semantic Versioning
You've learned for 25 minutes. A short break helps your brain.
Sprint done! Great focus. Stretch for a minute?