Gitlab
یکی از مشکلات مطرح و مرسوم در روند توسعه و نگهداری یک محصول نرمافزاری، نحوه مدیریت و نگهداری کدها است.
یکی از موثرترین ابزارهایی که مدت زمان خیلی زیادی است در دسترس توسعهدهندگان قرار گرفته، نرمافزار git است که با استفاده از آن میتوان تغییرات کدها را مشاهده و ردگیری کرد و در قالب شاخههای متفاوت در دسترس تیمهای توسعه قرار داد بدون آنکه نگرانی بابت تداخل در کدها و روند توسعه بوجود آید.
در گذر زمان پلتفرمهای زیادی مبتی بر git در بازار عرضه شدند که با ارائه ویژگیهای جدید و ظاهر گرافیکی دسترسی پذیری این ابزار مهم و کاربردی را افزایش دادند، مانند Github
، Gitlab
، Bitbucket
و ....
Gitlab
یکی از کاربردیترین و معروفترین این پلتفرمها که به کاربران اجازه میدهد چه به صورت On premise
و چه به صورت Commercial
از این محصول استفاده کنند Gitlab
است که در سراسر جهان طرفداران زیادی را جذب کرده است.
سرویس Gitlab
یک پلتفرم برای مدیریت مخازن کد، استقرار و مانیتورینگ محصول، مدیریت تیم و ... است که با استفاده از زبان Ruby
نوشته شده و در ادامه بخشهایی از آن نیز با استفاده از زبان محبوب Go
توسعه یافت.
نصب و راهاندازی Gitlab
حال شما میتوانید این سرویس پرطرفدار و کاربردی را به صورت مدیریت شده بر روی سکوی ابری فندق و در فضانام خود تنها با چند کلیک ساده مستقر کنید.
برای اینکه بتوانید این سرویس را دیپلوی کنید، پارامترهای زیر را میتوانید مشخص کنید:
کانفیگ | نوع | پیشفرض | توضیح |
---|---|---|---|
service_name | string | gitlab | نامی که برای سرویس مایلید در نظر گرفته شود |
volume_name | string | نام volumeای که به سرویس وصل می شود | |
external_url | string | آدرس دلخواهی که برای مخازن ایجاد شده در سرویس گیتلب ساخته میشود | |
volume_browser_enabled | boolean | false | آیا سرویس مدیریت Dedicated Volume برای این سرویس ساخته شود یا خیر |
دامنه مخازن و سرویس
در صورتی که شما برای سرویس خود دامنهای انتخاب نکنید، سکو دامنه پیشفرضی با فرمت زیر برای سرویس شما ایجاد میکند که همین آدرس برای دسترسی به مخازن )Repositories( استفاده میشود.
در صورتی که قصد دارید سرویس شما بر روی آدرس دیگری اجرا شود، میتوانید یک دامنه دلخواه به سرویس Gitlab اضافه نمایید تا آدرس مخازن هم با همین دامنه شروع شوند.
توجه
شما تنها میتوانید از دامنههای استفاده کنید که در سکوی ابری فندق اضافه شده و به سرویس Gitlab متصل شده باشند، در غیر این صورت با خطای سروری مواجه خواهید شد.
مهم
توجه داشته باشید حداقل میزان رمی که باید به سرویس Gitlab تخصیص داده شود، طبق مستندات و راهکارهای سایت Gitlab حداقل ۳ گیگابایت )3072Mi( است که برای کار در تیمها و محصولات خیلی کوچک کاربردی است و اگر محصول شما مقیاس بالایی دارد و تیم بزرگی دارید، بهتر است رم بیشتری را به این سرویس اختصاص دهید.
مهم
سرویس Gitlab برای آنکه بتواند تنظیمات و دادههای خود را ذخیره کند، حتما باید به یک Dedicated Volume متصل باشد و با توجه به مصرف این سرویس، توصیه میشود حداقل میزان فضایی که به این سرویس تخصیص داده میشود بالای ۱۵ گیگابایت فضای خالی داشته باشد.
توجه
توجه داشته باشید برای استفاده از قابلیت Volume Browser سرویس شما باید به یک Dedicated Volume متصل باشد؛ در غیر این صورت با خطای سرور مواجه خواهید شد.
برای دیپلوی کردن یک سرویس Gitlab میتوانیم به شکل زیر عمل کنیم:
این دستور یک سرویس Gitlab ایجاد میکند که:
- نام آن test-gitlab ) یعنی در شبکه داخلی فضانام شما، باقی سرویسها از طریق نام test-gitlab و بر روی پورت 80 میتوانند به آن متصل شوند( است.
- میزان رم آن 3072 مگابایت.
- و نام volume که دادههای Gitlab بر روی آن ذخیره میشود VOLUME_NAME است.
بعد از آن که سرویس Gitlab ساخته شد، از طریق لینکی که در اختیار شما قرار میگیرد میتوانید وارد سایت شوید.
توجه
توجه داشته باشید سرویس Gitlab به دلیل Boot Time بالایی که دارد ممکن است تا ۲ دقیقه زمان اولیه نیاز باشد تا آدرس سایت به درستی کار کند.
ایجاد حساب کاربری root
بعد از آنکه سرویس Gitlab
به درستی اجرا شد و توانستید از طریق آدرسی که سکوی ابری فندق به شما داده است وارد سایت شوید، اولین بخشی که مشاهده خواهید کرد صفحه ایجاد رمز عبور برای حساب root
است.
همانطور که در تصویر بالا مشاهده میکنید، در این صفحه
Gitlab
از شما میخواهد تا رمز عبور جدیدی را ایجاد کنید.
هشدار
در انتخاب رمز عبور حتما موارد امنیتی را رعایت کنید و رمزی حداقل با طول ۱۶ کاراکتر شامل سمبلها،اعداد و حروف بزرگ و کوچک انتخاب کنید؛ چرا که این حساب مربوط به root است و در صورت سو استفاده میتواند باعث پیشامد فاجعه شود.
دسترسی به مخازن
برای دسترسی به مخازنی که بر روی Gitlab
ایجاد میکنید دو راه وجود دارد:
- ssh
- http
سرویس مدیریت شده
Gitlab
بر روی سکوی ابری فندق از دسترسیssh
پشتیبانی نمیکند؛ از همین رو باید با استفاده از لینکhttp
که در اختیار شما قرار داده میشود پروژه خود را clone کرده و یا دیگر عملیات git را بر روی آن انجام دهید.
افزودن دامنه دلخواه
اگر قصد داشته باشید دامنه یا دامنههای دلخواهتان را به سرویس مدیریت شده مورد نظر متصل نمایید، از طریق این بخش میتوانید لیست این دامنهها را مشخص کنید.
برای مثال فرض کنید تمایل دارید سرویس مدیریت شده مورد نظر شما روی domain.com و www.domain.com در دسترس باشد:
بدین شکل بخش دامنه را به مانیفست سرویس خود اضافه کرده و آن را مستقر نمایید:
Deploy Gitlab With Manifest
شما همچنین می توانید برای اجرای راحت تر سرویس های مدیریت شده از مانیفست همانند مثال زیر استفاده کنید.
- مانیفست Gitlab