آموزش نصب Gitlab در Ubuntu سرور داخلی

هر چه شرکت های نرم افزارهای بیشتر رشد کنند نیاز آنها به ابزارهای مدیریت نسخه نیز بالا تر میرود استفاده از سرویس کنترل نسخه میتواند آرشیو قوی از هر مرحله از توسعه را برای شما نگهداری کند و از همه مهم تر شما به صورت Team Work میتوانید روی پروژه های مختلف کار کنید ابتدا لازم است با Git آشنا باشید و نحوه استفاده از دستورات آن را بشناسید. شرکت وبینه به عنوان یک شرکت تخصصی طراحی و توسعه نرم افزار تحت وب بر اساس نیازمندی های داخلی خود این اموزش را تهیه کرده و به صورت رایگان برای سایر همکاران خود منتشر کرده است. خدماتی که در وبینه به صورت تخصصی انجام میشود طراحی و توسعه نرم افزار تحت وب  و طراحی سایت و پلتفرم های آنلاین با استفاده از برترین متدودولوژی های توسعه نرم افزار و استفاده از فریم ورک Laravel به صورت تخصصی است.

 

gitlab logo

 

ubunto

 

در این اموزش که توسط آقای  وحید الوندی تهیه و منتشر شده است یک نمونه از نصب Gitlab در ubuntu آموزش داده میشود  در این آموزش فرض بر این است که شما درون شرکت یک شبکه کوچک Lan دارید و میخواید یک سیستم را به عنوان سرور در نظر بگیرد و سایر کامپیوتر ها از این سیستم به عنوان سرور Git داخلی استفاده کنند.

مزیت های این روش به نسبت استفاده از نسخه اصلی Gitlab.com

  • سرعت بسیار بالا در استفاده از gitlab
  • دور زدن تحریم ها وارد شده از طرف Gitlab برای ایرانیان
  • دسترسی کامل و خصوصی به همه سورس کدها و امکان گرفتن بکاپ های مختلف از کل سیستم Gitlab خصوصی

مزیت این روش نسبت به خرید VPS ایرانی

  • امنیت اطلاعات 
  • صرفه جویی در هزینه
  • دسترسی سریع و ساده به دیتابیس و فایل های مربوط به پروژه ها
  • در هنگام خرید VPS باید حداقل ۴ گیگ Ram خریداری شود که پیشنهاد Gitalb در واقع 8 گیگ است که این منابع هزینه زیادی را برای تیم به صورت ماهیانه به همراه دارد
  • در قدم اول از ابزارهای تحریم شکن مانند وب سایت شکن استفاده کنید.

ابتدا واردلینک اموزش نصب gitlab روی ubunto شوید لازم است بدانید که gitlab در دو نسخه منتشر میشود یک نسخه Gitlab ce  , Gitlab ee که نسخه ce نسخه رایگان است

همه مراحل نصب را پیش بروید تا در نهایت نصب شما با موفقیت انجام شود و در نهایت در terminal شما پیام نصب با موفقیت انجام شده دیده میشود.

gitlab به صورت پیش فرض web server Nginix را نصب میکند و همه وابستگی های دیگر خود از قبیل Postger Database , Redis و نیازی به نصب آن به صورت دستی نیست.

در مستندات رسمی سایت gitlab به صورت کامل نصب Using a non-bundled web-server را آموزش میدهد و با وب سرورهای  apache - nginx - lighttpd - caddy نمونه کانفیک برای نصب در localhost را آموزش داده است . این اموزش مبتی بر روش Using a non-bundled web-server است.

نکته : همه تنظیمات و کانفیگ های مروبط به gitlab در فایل /etc/gitlab/gitlab.rb قرار دارد و برای ورود به این فایل از دستور زیر استفاده کرد

نکته : ip که در این 192.168.1.101 باید با ip سرور شما عوض شود

sudo nano /etc/gitlab/gitlab.rb

مطابق روش Using a non-bundled web-server ادامه دهید که این قسمت ۵ مرحله از زیر را دنبال میکند

  1. Disable bundled NGINX
  2. Set the username of the non-bundled web-server user
  3. Add the non-bundled web-server to the list of trusted proxies
  4. (Optional) Set the right GitLab Workhorse settings if using Apache
  5. Download the right web server configs

در مرحله اول به این صورت اقدام شود

/external_url "http://gitlab.local"

در مرحله ۵ شما را به لینک GitLab recipes repository هدایت میکند و شما مطابق نیاز خود نصب را انجام میدهید .

من در این آموزش نسخه apache 2.4 non ssl را انتخاب کرده ام مزیت این روش این است که شما در localhost خود می توانید از apache نیز استفاده کنید که در خیلی از مواقع برای اجرا برخی از پروژه های مخصوصا PHP کاربردی است.

ابتدا به مسیر زیر وارد شوید

cd /etc/apache2/sites-available

سپس فایل زیر را ایجاد نمایید

touch gitlab.conf

فایل ایجاد شده را با دستور nano  ویرایش کنید

sudo nano gitlab.conf

و درون آن محتوای زیر را وارد کنید این دستورات مطابق مسیری است که در مرحله ۵ شما میتوانید از آن استفاده کنید البته درون آن هم توضیحاتی برای ابونتو نوشته بود در خط های پایانی بخش log باید /var/log/apache2 در نظر گرفته شود که من آن را در این دستورات اجرا کرده ام

https://gitlab.com/gitlab-org/gitlab-recipes/blob/master/web-server/apache/gitlab-apache24.conf

بعد از ذخیره و خروج می توانید باید وب سایتی را که ایجاد کرده اید را فعال کنید

sudo a2ensite gitlab.conf

apache را ریست کنید

sudo service apache2 restart

لازم است که gitlab را Reconfigure کنید

sudo gitlab-ctl reconfigure

و در  نهایت gitlab را ریست کنید

sudo gitlab-ctl restart

خوب تا اینجای کار چیزی است که مستندات و اموزش ها گفته اند اما نکته مهم در localhost و این اموزش این است که اگر شما لینکی را که برای باز شدن gitlab در نظر گرفته اید را در مرورگر وارد کنید چیزی دیده نمیشود 

http://gitlab.local/

و در آخر این چیزی است که باید در این مرحله کانفیگ v-host شود

ابتدا لازم است hosts شوید 

sudo nano /etc/hosts

و اگر برای localhost ردیفی وجود دارد آن را حذف کنید

127.0.01  localhost

و مقدار زیر را جایگزین آن کنید

192.168.1.101    gitlab.local

تا اینجا اگر شما آدرس gitlab.local را وارد کنید باید صفحه اول gitlab برای شما دیده شود .

خوب اگر بخواهید برای سایر کامپوترهای درون شبکه  lan هم کاری کنید که بتوانند با آدرس gitlab.local وارد gitlab شوند باید مرحله کانفیگ v-host را انجام بدهند

اگر لینوکسی باشند همین روش و اگر ویندوزی باشند باید مسیر C:/Windows/System32/drivers/etc/hosts را با notepad با روش run as administrator باز کنید و مقدار 

192.168.1.101    gitlab.local

را درون ان وارد نماید و حالا سایر کامپوترهای درون شبکه lan هم میتوانند از سرویس gitlab در شبکه داخلی خود به صورت خصوصی استفاده کنند.

بکاپ گیری و بازیابی بکاپ در Gitlab

با استفاده از این روش که شما میزبانی Gitlab را به عهده میگیرد قطعا بحث بکاپ خیلی مهم است ضمن اینکه اگر شما پکیج ها یا نرم افزارهایی را ارایه میکنید که به نسبت نسخه آنها را پشتیبانی میکنید و ممکن است تعداد نسخه ها از نظر میزان اهمیت بالا باشد . برای حل مشکل بکاپ گیری می توان از مستنداتی که در وب سایت رسمی gitlab منتشر شده است استفاده کنید در این مستندات شما میتوانید به صورت زمانبدی شده عملیات بکاپ را اجرا کنید.

بدیهی است که بکاپ گیری باید درون سیستم دیگری باشد و برای بالاتر بردن سطح امنیت آن را در شبکه ای خارج از شبکه local انتقال داد یکی از این روش ها که میتواند بسیار کاربری باشد سرویس هایی است که gitlab آنها را پیشنهاد میکند مانند Amazon S3 یا google Storage که متاسفانه آنها نیز تحریم هستند البته که میتوان در زمان بکاپ گیری از ابزارهای تحریم شکن استفاده کرد . اما ساده ترین روش بکاپ گیری روی FTP است مثلا یک فضای بکاپ گیری به میزان ۱۰ گیگ تهیه کنید و آن را برای بکاپ گیری خودکار در نظر بگیرید. یا اگر هم بخواهید سطح امنیت را بالا ببرید به صورت دوره ای مثلا هفتگی بکاپ ها را در یک هارد اکسترنال که با نرم افزارهایی مانند ‌bitlocker در ویندوز آن را کپی کنید یا zip کنید و رمز روی آن قرار دهید.


    مطالبی که به شما پیشنهاد میشود
    عضویت در خبرنامه
    صرفا جهت اطلاع رسانی و مقالات جدید