معرفی GitLab
GitLab یک پلتفرم DevOps است که میزبانی مخزنهای Git، merge requestها، پیگیری تیکتها، رجیستری بستهها و یکپارچهسازی پیوسته (CI/CD) را در یک برنامه گرد هم میآورد. نسخه Community (CE) متنباز است. این نسخه برای تیمهای توسعه، آژانسها و کسبوکارهای کوچکی مناسب است که میخواهند کد و پایپلاینهایشان روی سروری باشد که خودشان کنترل میکنند.
هنگام تحویل، VPS لینوکسی (Debian 12 یا 13، Ubuntu 20.04، 22.04 یا 24.04) شامل GitLab CE است که از مخزن رسمی packages.gitlab.com و با بسته Omnibus نصب شده است. یک گواهی TLS خودامضا با اعتبار 10 سال برای آدرس IP عمومی سرور ساخته میشود. آدرس خارجی روی https://SERVER_IP پیکربندی شده و HTTP به HTTPS هدایت میشود.
حساب مدیر root است. رمز عبور اولیه آن در /etc/gitlab/initial_root_password نوشته شده است. دستورالعمل نصب دستکم 4 GB رم (8 GB پیشنهادی) و 2 هسته CPU را میطلبد: GitLab پرمصرف است، VPS را متناسب با آن انتخاب کنید.
با GitLab چه کارهایی میتوانید انجام دهید
نصب رسمی Omnibus
GitLab CE از مخزن apt شرکت GitLab نصب میشود و سپس با
gitlab-ctl reconfigureپیکربندی میگردد. بهروزرسانیها پس از آن از طریق apt انجام میشوند.HTTPS از لحظه تحویل
یک گواهی خودامضا با RSA 2048 در
/etc/gitlab/ssl/برای IP سرور ساخته میشود. Nginx ترافیک HTTP را به HTTPS هدایت میکند.رمز عبور root تولیدشده
رمز عبور اولیه حساب
rootدر/etc/gitlab/initial_root_passwordذخیره میشود، بدون هیچ مقدار پیشفرض شناختهشده.مخزنها، بازبینیها و CI/CD
Merge requestها، تیکتها، ویکیها، رجیستری بستهها و پایپلاینهای CI/CD در یک رابط واحد در دسترساند، بدون نیاز به اتصال ابزار جانبی.
پیکربندی در یک فایل
تمام تنظیمات از طریق
/etc/gitlab/gitlab.rbانجام میشود و سپسgitlab-ctl reconfigureاجرا میشود. نسخهبندی و بازتولید آن ساده است.
شروع کار با GitLab
از سفارش تا راهاندازی نهایی، در چند دقیقه.
- 1
سفارش VPS همراه با GitLab
یک [VPS لینوکسی](/vps-linux) در پاریس یا فرانکفورت با حداقل 4 GB رم (8 GB پیشنهادی) انتخاب کنید. در تب «Applications» فرم سفارش، GitLab را تیک بزنید.
- 2
صبر برای تحویل و اتصال
نصب و پیکربندی اولیه پس از بوت چند دقیقه طول میکشد. آن را با SSH دنبال کنید و پس از پایان، رمز عبور root را بخوانید.
Bashssh root@SERVER_IP tail -f /var/log/cloud-init-output.log sudo cat /etc/gitlab/initial_root_password - 3
باز کردن GitLab و ورود
به https://SERVER_IP بروید و هشدار مرورگر را که به گواهی خودامضا مربوط است بپذیرید. با
rootو رمز عبوری که در بالا خواندید وارد شوید و سپس آن را در پروفایل خود تغییر دهید.Bashsudo gitlab-ctl status - 4
امنسازی برای محیط عملیاتی
یک نام دامنه را به سرور اشاره دهید و سپس
external_urlرا در/etc/gitlab/gitlab.rbباhttps://YOUR_DOMAINجایگزین کنید. Let's Encrypt را فعال کنید (letsencrypt['enable'] = true) یا گواهی خودتان را نصب کنید و سپس پیکربندی را اعمال کنید. دسترسی را با یک فایروال محدود کنید (پورتهای 22، 80 و 443) و بکاپها را زمانبندی کنید.Bashsudo nano /etc/gitlab/gitlab.rb sudo gitlab-ctl reconfigure sudo gitlab-backup create
کاربردهای GitLab
Git خصوصی برای یک تیم
کد منبع پروژههای خود را روی یک سرور اروپایی که خودتان مدیریت میکنید میزبانی کنید، با دسترسیهای جداگانه برای هر گروه و هر پروژه.
پایپلاینهای CI/CD داخلی
تستها و استقرارهای خود را از فایلهای
.gitlab-ci.ymlکه همراه کد نسخهبندی میشوند، روی runnerهای خودتان اجرا کنید.مهاجرت از یک سرویس میزبانیشده
مخزنهای خود را از GitHub یا یک GitLab دیگر وارد کنید تا کنترل دادهها و قوانین دسترسی دوباره در دست شما باشد.
محیط یادگیری و آزمایش
پیکربندی GitLab، بکاپها یا ارتقای نسخه را پیش از دست زدن به محیط عملیاتی روی یک سرور جداگانه امتحان کنید.
پرسشهای متداول درباره GitLab
دستورالعمل نصب حداقل 4 GB و پیشنهادی 8 GB را با دستکم 2 هسته CPU اعلام میکند. کمتر از آن، نصب ممکن است شکست بخورد یا رابط بسیار کند شود. اگر بهطور منظم از CI/CD استفاده میکنید، 8 GB را در نظر بگیرید.
درباره GitLab بیشتر بدانید
جایگزین کردن گواهی خودامضا
گواهی ارائهشده به آدرس IP وابسته است: بنابراین مرورگرها یک هشدار نشان میدهند. برای حذف آن، از یک نام دامنه استفاده کنید (به /web-domains نگاه کنید) و /etc/gitlab/gitlab.rb را ویرایش کنید:
Rubyexternal_url 'https://YOUR_DOMAIN' letsencrypt['enable'] = true letsencrypt['contact_emails'] = ['admin@YOUR_DOMAIN']
سپس sudo gitlab-ctl reconfigure را اجرا کنید. دامنه باید از قبل به سرور اشاره کند و پورتهای 80 و 443 باید برای اعتبارسنجی در دسترس باشند.
منابع و حافظه
GitLab چندین سرویس را اجرا میکند (Puma، Sidekiq، PostgreSQL، Redis، Nginx، Gitaly). با 4 GB رم، نمونه برای یک تیم کوچک کار میکند، اما swap و کمی حاشیه اطمینان مفید است. بهمحض اینکه پایپلاینهای پرتکرار یا چندین ده کاربر دارید، به 8 GB ارتقا دهید.
بکاپها و بهروزرسانیها
دستور sudo gitlab-backup create یک آرشیو از دادههای برنامه میسازد. از /etc/gitlab/gitlab.rb و /etc/gitlab/gitlab-secrets.json هم که در این آرشیو گنجانده نمیشوند بکاپ بگیرید. برای بهروزرسانی از sudo apt update && sudo apt install gitlab-ce استفاده کنید. ابتدا مسیر رسمی بهروزرسانی را بخوانید، چون GitLab گاهی نسخههای میانی را الزامی میکند.