Як робити хотфікси в реліз?
Хотфікс в апплікейшені
- checkout to
master/mainbranch - create a hotfix branch
- make a fix
- PR to
main, merge, ready to testing on test environment - checkout to target release branch
cherry-pickthe hotfix commit- if cherry-picked commit conflicts and should be merged – resolve conflicts and merge
- ready to test on production environment
Хотфікс, але в лібі
Ідея така сама, що і вище, але з оновленнями ліби.
Фікс в main branch
- open lib project
- checkout to
mainbranch - create a hotfix branch
- make a fix
- bump
mainbranch version - PR to
main, merge - wait for lib to publish
Оновлення target апплікейшена в main
- open target application project
- checkout to
mainbranch - update lib version in
package.json - push, PR, merge, ready to test on test environment
Фікс ліби в target release branch
- back to lib, checkout to target release branch
cherry-pickthe hotfix commit- if cherry-picked commit conflicts and should be merged – resolve conflicts and merge
- bump target release branch version
- publish lib
Оновлення target апплікейшена в target release branch
- open target application project
- checkout to target release branch
- update lib version to previously published release version in
package.json - push, PR, merge, ready to test on production environment
TIP
Якщо треба оновити декілька апплікейшенів з фіксами в лібі, то робим ті самі кроки, але для кожного апплікейшена.
FAQ
Якщо у вас декілька коммітів для cherry-pick?
черрі-пікайте всі. (Або, можливо, для цього є кращий спосіб – тоді доповніть доку 🙂)
Якщо немає права на push в release/main branch?
робіть через допоміжну бренчу PR.
checkout vXX.YY -> git checkout -b hotfix/smth -> git cherry-pick <commit> -> git push origin hotfix/smth -> PR to vXX.YY