در این آموزش قصد داریم تا برخی از سرویسهای آنلاینی که به منظور هاستینگ سورسکد مورد استفاده قرار میگیرند را معرفی کنیم و نیاز به توضیح نیست که در این بین، گیتهاب به دلیل سابقهاش در صدر این لیست قرار خواهد گرفت.
GitHub
GitHub علاوه بر این که یک پلتفرم هاستینگ قدرتمند و امن برای میزبانی پروژههای نرمافزاری با استفاده از سیستم ورژن کنترل Git میباشد، همچنین به عنوان یک پلتفرم محبوب برای پروژههای اپنسورس شناخته شده است که به تملک مایکروسافت درآمده است (نیاز به توضیح نیست که رویکرد متفاوت مایکروسافت در سالهای اخیر بر این استوار بوده تا با جامعهٔ اپنسورس سازگارتر شود؛ در همین راستا، این کمپانی خود را به عنوان یک حامی جامعهٔ اپنسورس معرفی کرده، برخی از پروژههای خود را اپنسورس نموده و همچنین به بنیاد لینوکس پیوسته است.)
آنچه مسلم است این که دور از انتظار نیست که کنترل گیتهاب توسط مایکروسافت دولوپرهای اپنسورس را ناگزیر بر پیدا کردن جایگزینی برای پروژههای اپنسورس خود کند که در همین راستا در ادامه با سرویسهای جایگزین گیتهاب آشنا خواهیم شد.
GitLab
GitLab یک سرویس اپنسورس، قدرتمند و امن برای مدیریت به اصطلاح Life Cycle پروسهٔ توسعه نرمافزار است. از دید بسیاری از دولوپرها و فعلان کامیونیتی اپنسورس، گیتلب اولین گزینۀ جایگزین برای گیتهاب است چرا که دارای قابلیتهایی بیشماری است که از آن جمله میتوان به پشتیبانی از یک سری به اصطلاح MileStone گروهی اشاره کرد که با استفاده از آنها دولوپرها میتوانند خطاها و پول ریئکوست برای انجام تَسکی در یک محدودۀ زمانی معین را پیگیری کنند.
همچنین گیتلب قابلیت پیگیری خطاها، بوردهایی قابلتنظیم برای یک سری به اصطلاح Issue مربوط به گروهها، انتقال آنها بین پروژهها و موارد دیگر را پشتیبانی میکند (Issue Board یک ابزار مدیریت پروژهٔ نرمافزاری از طرف تیم GitLab است که برای برنامهریزی، سازماندهی و ویژوالیزیشن یک ورکفلو به منظور انتشار یک ویژگی یا محصول، مورد استفاده قرار میگیرد.)
به علاوه این که کاربران سرویس گیتلب میتوانند هم ریپازیتوری پابلیک (عمومی) داشته باشند و هم ریپازیتوری پِرایوِت (شخصی) که همگی رایگان هستند؛ اما اگر به دنبال قابلیتهای حرفهایتر میگردید، میباید از سرویسهای پریمویم (پولی) گیتلب استفاده کنید!
BitBucket
Bitbucket یک پلتفرم توسعهٔ قدرتمند، کاملاً مقیاسپذیر و با کارایی بالا است که برای تیمهای نرمافزاری حرفهای طراحی شده است. دولوپرها به راحتی میتوانند ریپازیتوری GitHub خود را به Bitbucket و با چند گام ساده ایمپورت کنند (همچنین Bitbucket از ادغام تغییرات به اصطلاح Third Party نیز پشتیبانی میکند.)
از جمله ویژگیهای قابلتوجه Bitbucket میتوان به جستجوی کد، پشتیبانی از پول ریکوئست برای ادغام یک یا چند کامیت در بِرنچهای متفاوت، انواع مدلهای دیپلویمنت، بررسی کد، پیگیری خطا و پِرمیشن به بِرنچها به منظور محافظت از وُرکفلوی دولوپرهای مختلف و با سطح دسترسیهای متفاوت اشاره کرد (همچنین لازم به ذکر است که این سرویس بیش از آنکه به درد دولوپرهای فریلنسر بخورد، به درد برنامهنویسانی میخورد که تمایل به کار به صورت تیمی دارند.)
Gitea
Gitea یک سرویس اپنسورس و رایگان است که کار با آن بسیار ساده است. این سرویس به منزلۀ یک راهکار ساده و سریع برای راهاندازی یک سرویس گیت با قابلیت ارائۀ هاستینگ برای ریپازیتوریهای خصوصی دولوپرها به منظور توسعهٔ نرمافزارهای اپنسورس است (برای کسب اطلاعات بیشتر، میتوانید به مقالهٔ Gitea: سرویس به اصطلاح Self-hosted اپنسورس برای Git مراجعه نمایید.)
همچنین نرمافزار Gitea نسخهای توسعه یافته توسط کامیونیتی اپنسورس از روی نرمافزار Gogs است. در واقع، این سرویس یک ابزار هاستینگ سورسکد است که با زبان Go نوشته شده و تحت لیسانس MIT منتشر شده مضاف بر این که کراسپلتفرم بوده و قابلیت اجرا بر روی ویندوز، مک، لینوکس و سایر پلتفرمها را دارا است.
Gogs
Gogs یک سرویس گیت رایگان، اپنسورس، سبک، توسعهپذیر و کراسپلتفرم با قابلیت هاستینگ ریپازیتوریهای خصوصی است. نصب Gogs آسان است و به اندازهای کمحجم میباشد که بر روی یک دیوایس Raspberry Pi نیز اجرا میشود. Gogs احتمالاً سادهترین و سریعترین روش برای راهاندازی یک سرویس گیت با قابلیت هاستینگ پروژههای اپنسورس است؛ همچنین این سرویس یک کپی کامل از ریپازیتوریهای GitHub بوده که با زبان Go نوشته شده است.
SourceForge
Sourceforge یک پلتفرم توسعه و توزیع نرمافزاری است که به طور خاص برای پروژههای اپنسورس ساخته شده است و در Apache Allura میزبانی میشود. Sourceforge قابلیتهایی همچون ریپازیتوری کد، دایرکتوری اپنسورس، ابزاری یکپارچه برای پیگیری خطاها و ابزارهایی به منظور تهیۀ داکیومنت برای پروژه را ارائه میدهد (لازم به ذکر است که این پلتفرم برای میزبانی پروژههایی مانند Apache OpenOffice ،FileZilla استفاده میشود.)
Allura
Allura یک ابزار رایگان برای پیگیری خطا، هاستینگ سورسکد پروژهها و ... را فراهم میکند و به دولوپرها این امکان را میدهد تا تغییرات خود در کدها را به سادگی ذخیره کنند. همچنین مجموعهای از ابزارها برای کمک به همکاری دولوپرها در پروژههای نرمافزاری را فراهم میکند و دارای ویژگیهایی نظیر پیگیری خطا، جستجوی قدرتمند، هایلایت کردن سینتکس، ایجاد کپی از ریپازیتوریها و ادغام آنها، درخواست برای ادغام یک یا چند کامیت در بِرنچهای متفاوت و مستندسازی پروژه است (همچنین این سرویس دارای قابلیت هاستینگ برای ریپازیتوریهای خصوصی دولوپرها نیز میباشد.)
Launchpad
Launchpad یک پلتفرم رایگان و توسعه یافته به منظور ساخت، مدیریت و همکاری در پروژههای نرمافزاری برای دولوپرها است که توسط کمپانی Canonical، سازندهٔ توزیع اوبونتو، ساخته شده است. این پلتفرم شامل ویژگیهایی همچون میزبانی کد، ساخت پکیجهای اوبونتو، پیگیری باگهای سورسکد، بررسی سورسکد و غیره است؛ با این حال گرچه Launchpad سالها مورد استفادهٔ برخی دولوپرها بوده است، اما به عنوان جایگزین GitHub در این لیست محبوبیت زیادی به دست نیاورده است چرا که اکثر پروژههای قرار گرفته روی این سرویس پروژههای مرتبط با سیستمعامل گنو/لینوکس بوده و در حالت کلی در میان دولوپرها به عنوان یک سرویسهاستینگ #اوبونتو شناخته میشود.
Cloud Source Repositories
Cloud Source Repositories سرویسی از گوگل است که پس از فروپاشی Google Code، روی کار آمد. Cloud Source امکان اتصال به GitHub ،Bitbucket و سایر سرویسها را دارا است. این سرویس امکان ذخیرهسازی سورسکد را از طریق زیرساختهای گوگل ارائه میدهد؛ بدین معنی که کد و برنامههای شما در محیطی امن نگهداری میشوند.
AWS CodeCommit
AWS CodeCommit یک محیط هاستینگ امن و خصوصی ریپازیتوری گیت بوده و محصولی از آمازون است که مشابه ریپازیتوری Cloud Source گوگل است. این گزینه مخصوصاً برای زمانی مفید است که دولوپرها از دیگر محصولات AWS نیز استفاده میکنند چرا که به راحتی با این سرویس سینک میشوند.
Phabricator
Phabricator یک پلتفرم میزبانی اپنسورس، قدرتمند، سریع و مقیاسپذیر است و مجموعهای از ابزارهای مختلفی را برای ایجاد و همکاری در پروژههای نرمافزاری به شیوهای سریع فراهم میکند. در واقع، Phabricator مجموعهای از ابزارها برای توسعهٔ نرمافزار است که به شرکتهای نرمافزاری کمک میکند تا نرمافزار بهتری تولید کنند مضاف بر این که شامل اپلیکیشنهایی برای بررسی کد، میزبانی ریپازیتوری، سیستم ورژن کنترل گیت، پیگیری خطا، مدیریت پروژه و غیره است.
GitBucket
GitBucket یک پلتفرم گیت اپنسورس، با قابلیت توسعهٔ بالا است که با زبان Scala توسعه یافته و در ماشین مجازی جاوا (JVM) اجرا میشود که برای آشنایی بیشتر با این زبان، میتوانید به مقالات زیر مراجعه نمایید:
- آشنایی با زبان برنامهنویسی Scala
- 10 دلیل بر ضرورت یادگیری زبان Scala و برنامهنویسی فانکشنال
این پلتفرم ویژگیهایی همچون امکان بررسی ریپازیتوری، پیگیری خطا، پول ریکوئست یک یا چند کامیت در بِرنچهای متفاوت، داکیومنت و ویکی، ایپیآی سازگار با گیتهاب و همچنین یک سیستم مبتنی بر پلاگین برای توسعه ویژگیهای اصلی آن دارا است.
GitPrep
GitPrep نرمافزاری است که رایگان بوده و با زبان Perl نوشته شده که امکان ایجاد یک کپی به صورت لوکال از ریپازیتوریهای #گیتهاب را برای دولوپرها فراهم میآورد به طوری که میتوانند با استفاده از این ابزار گیت را به صورت پرتابل در سیستمعاملهای مبتنی بر یونیکس مثل گنو/لینوکس نصب کنند و یوزرها و ریپازیتوریهایی بدون محدودیت ایجاد کنند. در ضمن، این نرمافزار قابلیت پیگیری خطاها و همچنین وب سروری از پیش تعریف شده دارد.
GNU Savannah
GNU Savannah یک نرمافزار اپنسورس و رایگان از بنیاد Free Software Foundation است که در حال حاضر از جمله قابلیتهایی که این نرمافزار ارائه میدهد میتوان به پشتیبانی از سیستمهای ورژن کنترلی همچون Subversion ،Git و Mercurial کرد. با این حال، این نرمافزار برای کاربران تازهکار توصیه نمیشود چرا که راهاندازی و درک نحوۀ کار با آن کمی زمانبَر است.
Manuscript
Manuscript یک نرمافزار مدیریت سورسکد است که بر پایهٔ موتور FogBugz نوشته شده است که مجموعهای از ابزارهای مختلف را در اختیار دولوپرها قرار میدهد تا بتوانند به سهولت دست به توسعهٔ اپلیکیشن بزنند. همچنین این نرمافزار قابلیت ادغام با GitHub ،Google Docs و Glitch را نیز دارا است.
Beanstalk
Beanstalk یک پلتفرم قدرتمند، امن، با کارایی بالا و قابلاعتماد برای مدیریت ریپازیتوریهای کد است و یک سرویس گیت ساده اما در عین حال حرفهای را برای توسعهدهندگان به ارمغان میآورد. این پلتفرم برای بهبود وُرکفلوی کاری دولوپرها با استفاده از ویژگیهایی همچون بررسی کد، پیگیری خطا، آمار و ارقام مربوط به ریپازیتوریهای مختلف، یادداشتهای مربوط به دیپلوی نرمافزار، نوتیفیکیشنها، نگهداری تاریخچهٔ مربوط به تمام کامیتها و موارد دیگر طراحی شده است.
Beanstalk یک نرمافزار مدیریت کد مبتنی بر کلود است به طوری که امکان کدنویسی، کامیت، بررسی، بازبینی و دیپلوی را برای دولوپرها و به طور مستقیم از طریق مرورگر ایشان فراهم میکند.
GitKraken
GitKraken به دلیل برخورداری از یک رابط کاربری زیبا، بر سرعت و سهولت استفاده از سیستم ورژن کنترل گیت متمرکز میباشد و این همان چیزی است که دولوپرها، اعم از مبتدی و حرفهای، را به این پلتفرم جذب میکند. همچنین GitKraken با ابزار Electron طراحی شده که این امکان را برای دولوپرها فراهم میکند تا بتوانند آن را روی سیستمعاملهای مختلفی مانند ویندوز، مک و محیط لینوکس اجرا کنند (برای آشنایی بیشتر با الکترون، میتوانید به مقالهٔ Electron: پلتفرمی جهت توسعهٔ نرمافزار دسکتاپ برای ویندوز، لینوکس و مکینتاش مراجعه نمایید.)
GitKraken دارای یک دکمهٔ به اصطلاح Undo فوقالعاده مفید است که به دولوپرها اجازه میدهد تا تغییراتی که سهواً انجام دادهاند را خیلی سریع حذف کنند مضاف بر این که دارای قابلیت یکپارچهسازی با سرویسهای محبوبی همچون GitHub ،Bitbucket و GitLab است که این فیچِر (قابلیت) موجب میشود تا توسعهدهندگان بتوانند به سادگی با ریپازیتوریهای ریموت کار کنند.
Kallithea
Kallithea پروژهای متعلق به بنیاد Software Freedom Conservancy بوده و یک سیستم مدیریت سورسکد تحت لیسانس GPL است که از دو سیستم ورژن کنترل Mercurial و Git پشتیبانی میکند و دارای یک اینترفیس تحت وب است که کار با آن را برای دولوپرها آسان میکند. همچنین دولوپرها میتوانند Kallithea را بر روی سرورهای اختصاصی خود نصب نموده و سیستم ورژن کنترل مد نظر خود را انتخاب نمایند.
Tuleap
Tuleap یک سیستم مدیریت پروژهای برای مدیریت چرخهٔ عمر اپلیکیشن، پروژههای مبتنی بر اجایل، مدیریت نیازمندیهای نرمافزار و غیره است. Tuleap قابلیتهایی برای سیستم ایجاد میکند که امکان مدیریت سورسکد نرمافزار برای تیمها (با استفاده از سیستم ورژن کنترل Subversion ،Git یا CVS)، اشتراکگذاری داکیومنتهای فنی پروژه، پیگیری خطا، برقراری ارتباط با مشتریان و دیگر دولوپرهای فعال روی پروژه را فراهم میآورد.