سرور گیت لب چیست؟

نرم افزار گیت که یک نرم افزار کنترل نسخه است، به شما کمک خواهد کرد که به راحتی کنترل نسخه های تغییر یافته پروژه را در دست داشته باشید روی پلت فرم های مشهوری همچون گیت هاب و گیت لب پیاده سازی شده است. البته با وجود مهاجرت این دو پلتفرم به فضای ابری گوگل و تحریم ایران توسط گوگل، یکی از راه های دسترسی به تکنولوژی گیت لب، ثبت اکانت جدید با IP غیر ایرانی است. در این روش نه تنها IP شما بلکه نام و ایمیلتان هم باید غیر ایرانی باشد. این روش با تهیه سرور مجازی ممکن خواهد بود. گروه وب پویان برای شما کاربران عزیز سرور گیت لب را پیشنهاد میکند که این سرور گیت لب روی سرور مجازی لینوکس ساخته خواهد شد.

در صورتی که شما یک گروه برنامه نویسی هستید که هر کدام از شما در نوشتن بخشی از پروژه مشارکت دارید، نرم افزار گیت برای گروه شما بسیار کارآمد است. این نرم افزار یک نرم افزار متن باز است که در ابتدا فقط برای پروژه های برنامه نویسی استفاده می شد اما اکنون می توانید برای در دست داشتن کنترل تغییر نسخه هر فایلی از آن استفاده کنید.

سیستم های کنترل نسخه دو نوع هستند، یکی سیستم کنترل نسخه متمرکز، یکی سیستم کنترل نسخه توزیع شده. با سیستم های کنترل نسخه متمرکز، شما یک نسخه “مرکزی” از پروژه خود در سرور دارید و تغییرات خود را در این نسخه مرکزی انجام می دهید. شما فایل های مورد نیاز خود را برداشت یا به اصطلاح pull می کنید، اما هرگز نسخه کامل پروژه خود را به صورت محلی ندارید. برخی از رایج ترین سیستم های کنترل نسخه متمرکز Subversion و Perforce هستند.

با سیستم های کنترل نسخه توزیع شده (DVCS)، برای ذخیره تمام نسخه های فایل های یک پروژه، تنها به یک سرور مرکزی اعتماد نمی کنید. در عوض ، شما یک نسخه از یک مخزن را به صورت محلی شبیه سازی می کنید تا تاریخچه کامل پروژه را داشته باشید. دو سیستم کنترل نسخه توزیع شده رایج گیت و Mercurial هستند.

 

مقایسه سرور گیت لب با گیت هاب

مقایسه گیت لب با گیت هاب

حالا که شما تصمیم به تهیه سرور گیت لب را گرفته اید، بهتر است تفاوت ها و شباهت های گیت لب و گیت هاب را هم بدانید.

_ در سرور گیت لب شما می توانید مجوزهای دسترسی افراد را با توجه به نقش آنها تنظیم و تغییر دهید. اما در گیت هاب تنها می توانید تصمیم بگیرید که آیا کسی به یک مخزن دسترسی خواندن یا نوشتن پیدا کند یا نه.

_ گیت لب یک سرویس ادغام مداوم اختصاصی خود را به صورت رایگان ارائه می دهد. سرویس ادغام مداوم بخشی از سرور گیت لب است که هر زمان توسعه دهنده کد را وارد برنامه می کند یا به اصطلاح، به برنامه push می کند، نرم افزار را به روزرسانی میکند و آزمایش می کند.

_ سرور گیت لب مانند گیت هاب، یک برنامه تشخیص مشکل ساده را ارائه می دهند که به شما امکان می دهد همزمان وضعیت را برای چندین مسئله تغییر دهید. هر دو ارائه دهنده برنامه تشخیص مشکل فوق العاده ای هستند، به ویژه هنگامی که با یک ردیاب مانند Usersnap در ارتباط باشید.

_ گزارش اشکالات و بازخورد کاربر می تواند به طور خودکار به سرور گیت لب یا گیت هاب ارسال شود. یا می توانید آن تیکت ها را از قبل در Usersnap فیلتر کرده و به صورت دستی برای توسعه دهندگان پروژه خود ارسال کنید.

_ هنگامی که به مهاجرت به سرور گیت لب یا گیت هاب فکر می کنید، باید هزینه های راه اندازی و منابع مورد نیاز برای شروع کار را نیز در نظر داشته باشید. گیت لب مستندات مفصلی در مورد نحوه وارد کردن اطلاعات خود از سایر فروشندگان مانند گیت هاب یا Bitbucket  به گیت لب ارائه می دهد. از طرف دیگر ، گیت هاب چنین مستندات مفصلی را ارائه نمی دهد. با این حال، اگر کد منبع خود را در Subversion ، Mercurial ، TFS و… داشته باشید، گیت هاب پیشنهاد می کند از GitHub Importer استفاده کنید.

_ گیت لب و گیت هاب طیف گسترده ای از ادغام های شخص ثالث را ارائه می دهند. ادغام سیستم کنترل نسخه با برنامه های دیگر، گردش کار شما را غنی می کند و می تواند بهره وری را برای توسعه دهندگان و غیر توسعه دهندگان شما افزایش دهد.

_ در سطح شرکت، هنگام تصمیم گیری آگاهانه در مورد استفاده از سرور گیت لب در مقابل گیت هاب، باید فاکتورهای دیگری را نیز در نظر بگیرید. گیت هاب از محبوبیت بالایی در بین توسعه دهندگان برخوردار است و طی چند سال گذشته در بین تیم ها و سازمان های بزرگتر توسعه نیز محبوبیت پیدا کرده است. از طرف دیگر، گیت لب در ویژگی های سازمانی نیز بسیار قوی است. با وجود برنامه های مختلف شرکتی، سرور گیت لب به ویژه در میان تیم های توسعه دهنده بزرگ محبوب تر است.

_ بدون شک گیت هاب همچنان با بیشترین تعداد کاربر و پروژه محبوب ترین مخزن گیت است. با این حال، گیت لب کار خارق العاده ای انجام می دهد و به کل تیم های توسعه و DevOps شما ابزارهای خوبی برای گردش کار کارآمد تر ارائه می دهد.

مزایای سرور گیت لب

از مزایای سرور گیت لب میتوان به موارد زیر اشاره کرد:

_ سرور گیت لب به ما کمک می کند تا معیارهای عملکرد را هم برای سرور و هم برنامه های خود داشته باشیم. این سرور به سرعت به ما اجازه می دهد یک شاخه خاص را مشخص کنیم و نسخه های تولیدی خود را تحت نظر داشته باشیم.

_ کاربران سرور گیت لب می توانند مخازن بی حد و حصر ایجاد کنند. البته اگر کاربران نسخه Enterprise را می خواهند باید هزینه اضافه ای پرداخت کنند. ویژگی های اضافی نسخه Enterprise از نظر عملکرد ابزارهای مجازی، کنترل فعالیت های سرور و مدیریت کار، تجربه کار را سریعتر و آسان تر می کند.
_ گیت لب یک سرویس منبع باز دارد.
_ سرور گیت لب قابلیت ردیابی اشکالات و رفع آن ها را به صورت آنلاین را دارد.
_ گیت لب با پروتکل دسترسی سبک دایرکتوری ادغام شده است، بنابراین می توان منابع مختلفی را در وب قرار داد و به آنها دسترسی داشت. نسخه گیت لب Enterprise با بسیاری از خدمات LDAP و همگام سازی تیم کار می کند.

آموزش کانفیگ سرور گیت لب

در این مقاله، ما به شما نحوه نصب و راه اندازی سرور گیت لب روی ubuntu 20.04 با استفاده از خط فرمان را نشان خواهیم داد.

شما گیت لب را به دو روش زیر می توانید نصب کنید:

راه اندازی سرور گیت لب با استفاده از یک اسکریپت ساده

قبل از شروع مراحل نصب، باید اطمینان حاصل کنید که همه بسته های سیستم به روز شده اند. برای انجام این کار، باید برنامه ترمینال را باز کنید. سپس، بر روی Activities کلیک کرده و terminal را در application launcher تایپ کنید تا به ترمینال دسترسی پیدا کنید. یا می توانید با استفاده از کلیدهای میانبر صفحه کلید Ctrl + Alt + t به پنجره ترمینال دسترسی پیدا کنید.

دستور زیر را صادر کنید:

sudo apt update 

اکنون، با استفاده از دستور زیر، متعلقات سرور گیت لب را نصب خواهید کرد:

sudo apt-get install -y curl openssh-server ca-certificates

 اکنون برای راحتی کار مخزن گیت لب را اضافه کنید تا اسکریپت زیر را روی سیستم اجرا کنید. با استفاده از دستور زیر گیت لب را دانلود کنید:

$ curl https://packages.gitlab.com/install/repositories/gitlab/gitlab- ce/script.deb.sh

پس از اجرای موفقیت آمیز اسکریپت، می توانید بسته gitlab-ce را با استفاده از دستور زیر روی Ubuntu 20.04 نصب کنید:

$sudo apt-get install gitlab-ce

راه اندازی سرور گیت لب با دانلود از اینترنت

در صورت بروز هرگونه مشکل سرور یا پشتیبانی رسمی اوبونتو در رابطه با سرور گیت لب، می توانید بسته گیت لب را از این URL داده شده https://packages.gitlab.com/gitlab/gitlab-ce دانلود کنید. وقتی بسته را کاملاً دانلود کردید، آن را به سرور خود کپی یا منتقل کنید و سپس با استفاده از دستورات زیر سرور گیت لب را راه اندازی کنید:

$ cd downloads

برای دانلود بسته گیت لب دستور wget زیر را اجرا کنید:

$ wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/
bionic/gitlab-ce_13.2.1-ce.0_amd64.deb/download.deb

اکنون ، با استفاده از دستور زیر بسته دانلود شده (.deb) را روی اوبونتو 20.04 نصب خواهید کرد:

$ sudo dpkg -i gitlab-ce_13.2.1-ce.0_amd64.deb

پس از نصب بسته گیت لب، می توانید از این فایل که کانفیگ های خودکار را ارائه می دهد و شما می توانید متناسب با نیاز خود آن را تغییر دهید، استفاده کنید:

$ sudo vim /etc/gitlab/gitlab.rb

اکنون ، برای تغییر نام میزبان با استفاده از متغیر external_url، فایل کانفیگ را ویرایش کنید تا بتوانید از طریق یک سیستم از راه دور دیگر با استفاده از نام میزبان مشخص شده و سایر پارامترها به آنها دسترسی داشته باشید:

برای کانفیگ مجدد خدمات سرور گیت لب دستور زیر را اجرا کنید:

$ sudo gitlab-ctl reconfigure

با دستور بالا تمام سرویس های سرورگیت لب کانفیگ می شوند. تکمیل این فرآیند ممکن است زمان بر باشد. اکنون، با استفاده از دستور زیر، خدمات سرور گیت لب را بر روی سیستم خود راه اندازی می کنید.

$ sudo gitlab-ctl start

با اجرای دستور زیر در ترمینال می توانید وضعیت سرویس ها را بررسی کنید:

$ sudo gitlab-ctl status

 

سوالات متداول سرور گیت لب

سرور گیت لب یک سرور مجازی لینوکس است که نرم افزار گیت که یک نرم افزار متن باز کنترل ورژن فایل ها است و توسط شرکت گیت لب ارائه شده، روی آن نصب شده است.
در سرور گیت لب مجوز دسترسی افراد با توجه به نقش آنها قابل تنظیم و تغییر است.
در گیت هاب تنها امکان دسترسی خواندن یا نوشتن افراد به یک مخزن قابل تنظیم است.
گیت لب مستنداتی در مورد نحوه انتقال اطلاعات خود از سایر فروشندگان مانند گیت هاب به گیت لب ارائه می دهد،
اما گیت هاب چنین مستنداتی را ارائه نمی دهد. با این حال، اگر کد منبع خود را درSubversion ، Mercurial ، TFS و… داشته باشید، گیت هاب پیشنهاد می کند از GitHub Importer استفاده کنید.
سرور گیت لب به ما اجازه می دهد یک شاخه خاص را مشخص کنیم و نسخه های تولیدی خود را تحت نظر داشته باشیم.
کاربران سرور گیت لب می توانند مخازن بی حد و حصر ایجاد کنند.
گیت لب یک سرویس منبع باز دارد.
سرور گیت لب قابلیت ردیابی اشکالات و رفع آن ها را به صورت آنلاین را دارد.
 
مخزن گیت در سرور گیت لب