آشنایی با ابزار بیتباکت از اطلسیان
در تیمهای توسعهٔ نرمافزار لازم است تا کدهای مرتبط با پروژه به صورتی مدیریت شده و امن بین اعضای تیم به اشتراک گذاشته شود تا اعضا بتوانند به صورت همزمان برای پیشبرد پروژه فعالیت کنند. ابزارهای ورژن کنترل برای همین منظور توسعه داده شدهاند که علاوه بر امکان اشتراک کد، قابلیتهایی نظیر تاریخچهٔ توسعه و امکان ایجاد انشعابهایی (Branch) جهت بررسی ایدههای جدید را فراهم میکنند. با گسترش نیازهای تیمهای نرمافزاری امنیت انتشار کدها و قابلیت دسترسی از هر جایی بر مبنای بستر اینترنت، باعث به وجود آمدن مخازن انتشار کدی نظیر بیتباکت، گیتهاب و … شد.
بیتباکت مخزن کد توسعه داده شده توسط شرکت اطلسیان است که در دو نوع هاست شده (مناسب استفادهٔ عموم) و نسخهٔ قابل نصب روی سرور (مناسب برای تیمهایی که امنیت دسترسی به مخازن از اولویت بالایی برای آنها برخوردار است) منتشر میشود. همچنین بیتباکت قابلیت پشتیبانی از کدهایی که با استفاده از ورژن کنترلهای Git و یا Mercurial توسعه داده شدهاند را داراست. از جمله ویژگیهایی که بیتباکت به همراه دارد میتوان به موارد زیر اشاره کرد:
- پروژهها: قابلیت دسته بندی مخازن نرمافزاری مرتبط با هر پروژه را به صورت جداگانه فراهم میکند.
- قابلیت تطابق کدها (Diff): که با استفاده از تکنولوژیهای وب به زیبایی هر چه تمامتر امکان مشاهدهٔ تغییرات ایجاد شده در هر کامیت را جهت بازبینی فراهم میکند.
- قابلیت ثبت درخواست بررسی (Pull Request): این قابلیت به اعضای تیم اجازه میدهد تا قبل از ادغام (merge) کردن کدهایی که برای یک ویژگی جدید توسعه داده شده، آن را با دیگر همکاران خود به اشتراک گذاشته و در صورت نیاز به بازبینی و تبادل نظر در خصوص کدها بپردازند. بیتباکت همچنین اجازهٔ ثبت دیدگاه در هر قسمت از کدهای مورد بحث را به زیبایی فراهم مینماید که میتواند در فرآیند بازبینی پروژه بسیار کمک کننده باشد.
- امکان مدیریت دسترسیها در برنچها: این قابلیت امکان حصول اطمینان از اشتراک انشعابهای کد (Branch) با اشخاص مرتبط با هر قسمت را مهیا میکند.
- قابلیت جستجو در محتوای کد: این امکان را فراهم میآورد تا به سرعت به نتیجهٔ مورد نظر در جستجوهای خود دست یابید. سیستم جستجوی بیتباکت نسبت به جستجو برای کدهای نرمافزاری بهینه شده و بر همین اساس قابلیت تولید نتایج بهتری را در هنگام جستجو فراهم میکند.
- پایپلاینهای انتشار (Deployment pipeline): که از دیگر ابزار توسعه داده شده توسط اطلسیان به نام بامبو (که قبلا در همین وبلاگ معرفی شد) بهره میبرد، امکان تست و انتشار خودکار مخازن کد را فراهم میکند.
- پشتیبانی از فایلهای بزرگ در گیت (LFS): در صورتی که کاربر ابزار گیت باشید، احتمالا از نقطه ضعف این ابزار در زمان ثبت فایلهای بزرگ روی آن خبر دارید. قابلیت LFS توسعه داده شده برای بیتباکت جهت پوشش این ضعف در ورژن کنترل گیت آماده شده و امکان ثبت فایلهایی با حجم بالاتر از ۵۰ مگابایت را فراهم میکند.
- امکان همگامسازی با دیگر ابزارهای توسعه مرتبط از طریق Webhook که به صورت عمده در تیمهای نرمافزار مورد استفاده قرار میگیرند.
- امکان همگامسازی با دیگر ابزارهای مرتبط توسعه داده شده توسط شرکت اطلسیان نظیر جیرا، هیپچت و ….
شاید امروزه معروفترین ابزار مخزن کد روی اینترنت، گیتهاب باشد. از همین رو قصد داریم در ادامه به مقایسهٔ بیتباکت با این ابزار بپردازیم:
ویژگی | بیتباکت | گیتهاب |
ورژنکنترلهای پشتیبانی شده | Mercurial, Git | Git |
مخازن کد عمومی (public) در نسخهٔ رایگان | نامحدود | نامحدود |
مخازن کد خصوصی (private) در نسخهٔ رایگان | نامحدود | صفر |
تعداد کاربران برای نسخهٔ رایگان | ۵ کاربر همزمان | نامحدود |
قابلیت نصب بر روی سرورهای سازمانی | دارد | ندارد |
شرکت پارسدانیسان
شرکت پارسدانیسان از سال ۱۳۹۱ با بهرهگیری از نیروهای متخصص در این زمینه به ارائهٔ دورههای آموزشی ابزار بامبو و دیگر ابزارهای مرتبط پرداخته است. همچنین خدمات مشاوره و پشتیبانی حرفهای تمامی محصولات ارائه شده از طرف شرکت اطلسیان را به صورت رسمی در کشورمان ایران ارائه میکند.