💡 فرهنگ و ساختار نسخهدهی در تیمهای نرمافزاری
انتخاب Gitflow یا Trunk-Based Development؟
انتخاب Monorepo یا Multirepo؟
انتخاب GitHub Flow یا GitLab Flow؟
به نظرم سؤال اصلی این نیست که «کدوم بهتره؟»
سؤال بهتر اینه که «هر کدوم برای حل چه مسئلهای ساخته شده؟»
خیلی از تیمها مدلهایی رو از شرکتهای بزرگ کپی میکنن، بدون اینکه همون سطح از CI/CD، تست، ownership، feature flag، release management و tooling رو داشته باشن. نتیجهاش هم معمولاً شلختگی، merge conflict، releaseهای پراسترس و کیفیت ناپایداره.
طی این دو پست، که پاسخی به سوال یکی از دوستان کانال است؛ به فرهنگ و ساختار نسخهدهی رو از چند زاویه بررسی کردم:
ساختار repository: شامل Monorepo، Multirepo، Microrepo
مدلهای branching: شامل: Gitflow، GitHub Flow، GitLab Flow، Trunk-Based Development
و بعد ترکیب اینها در سناریوهای واقعی: مثل monolith، microservice، تیم کوچیک، چند تیم، SemVer، CalVer و چکلیست تصمیمگیری.
هدفم نسخه پیچیدن نیست؛ بیشتر اینه که انتخابمون از روی شناخت باشه، نه تقلید.
🔗 بخش اول
🔗 بخش دوم
3
Post #4142
1.23K
Forwarded from tech-afternoon (Amin Mesbahi)
امین مصباحی فرهنگ و ساختار نسخهدهی در تیمهای نرمافزاری (بخش اول) مقدمه:فرهنگ و ساختار نسخهدهی توی تیمهای نرمافزاری، با اینکه پیشینه طولانی داره و نسل اولش به دهههای ۶۰ و ۷۰ و میلادی برمیگرده و حتی ابزارهای مدرنترش مثل git توی بیستسالگیشون به سر میبرن؛ ولی کماکان موضوعی مهم و اثرگذار روی تیمهاست. و البته کم نیستن…- ❤ 5