مفاهیم پیشنیاز
برای اطلاعات جامع راجع به گیتلب به صفحه مستندات آن مراجعه کنید.
همچنین مستندات گیت از این لینک قابل دسترس است.
مدیریت مخزن گیت (Git Repository Management)
گیت (Git)
گیتلب (GitLab) از Git به عنوان سیستم کنترل نسخه استفاده میکند. این به توسعهدهندگان امکانی میدهد تا تغییرات را ردگیری کرده، روی کد همکاری کنند و نسخههای مختلف پروژهی خود را مدیریت نمایند.
مخازن (Repositories)
گیتلب امکان ایجاد مخازن عمومی و خصوصی را برای ذخیرهسازی کدها و دیگر موارد پروژه فراهم میسازد.
ارسال و دریافت (Push/Pull)
کاربران میتوانند تغییرات خود را به مخزن راهدور (remote repository) ارسال (push) کرده و تغییرات دیگران را از آن دریافت (pull) کنند تا بر روی سیستم خود اعمال کنند.
همکاری و جریان کاری (Collaboration and Workflow)
مشکلات (Issues)
گیتلب یک سیستم پیگیری قدرتمند برای مدیریت باگها، درخواستهای ویژگی (feature requests) و سایر کارها (tasks) ارائه میدهد.
درخواست ادغام (Merge Request)
توسعهدهندگان برای پیشنهاد تغییر در کد از Merge Request استفاده میکنند. این فرآیند امکان بازبینی کد (code review) و همکاری تیمی را فراهم میسازد.
ویکی (Wiki)
گیتلب دارای قابلیت ویکی برای ایجاد و بهاشتراکگذاری مستندات پروژه است.
تیمها و گروهها (Teams and Groups)
گیتلب به کاربران امکان میدهد تا خود را در قالب تیمها و گروهها سازماندهی کنند. این قابلیت به مدیریت پروژه و کنترل دسترسی (Access Control) کمک شایانی میکند.
یکپارچهسازی و استقرار مستمر (CI/CD - Continuous Integration/Continuous Deployment)
پایپ لاین (Pipeline)
سیستم CI/CD در GitLab به کاربران اجازه میدهد تا پایپلاین خودکار برای ساخت، تست و استقرار (deployment) برنامهها تعریف کنند.
رانر (runner)
ماشینهایی (فرایندهایی، Proccesses) که وظایف تعریفشده در پایپلاین را اجرا میکنند، رانر نام دارند.
محیط ها و جاب ها (stages and jobs)
هر Pipeline شامل مجموعهای از محیطها (stages) است که هر محیط نیز شامل چند جاب یا وظیفه (job) میباشد. این وظایف به ترتیب توسط رانرها اجرا میشوند اجرا میشوند.
دواپس و دواپس امنیتمحور (DevOps and DevSecOps)
DevOps
گیتلب یک پلتفرم جامع DevOps به شمار میرود که تمامی مراحل چرخه عمر توسعه نرمافزار را پوشش میدهد.
DevSecOps
گیتلب با یکپارچهسازی اصول امنیتی در فرآیند توسعه، به تیمها کمک میکند تا نرمافزارهایی ایمنتر تولید و مستقر کنند.