سلام به همه پی وی لرنی های عزیز!
به دوره آموزشی گیت لب GitLab خوش آمدید.
گیت لب خدماتی است که امکان دسترسی از راه دور به مخازن Git را فراهم می کند. علاوه بر میزبانی کد شما، این سرویس ویژگی های دیگری را ارائه می دهد که به منظور کمک به مدیریت چرخه توسعه نرم افزار طراحی شده است. این ویژگی های اضافی شامل مدیریت اشتراک گذاری کد بین افراد مختلف، ردیابی اشکال، فضای ویکی و سایر ابزارها برای “برنامه نویسی اجتماعی” یا “social coding” است.
گیت لب شباهت های زیادی به گیت هاب github دارد و مانند آن حسابهای میزبانی شده را ارائه می نماید و اجازه اجرا روی میزبانهای ثانویه را نیز می دهد. در دوره آموزش گیت لب GitLab قرار است در طی چندین جلسه شما را با گیت لب و کار با آن آشنا نمایم.
در جلسه گذشته مفصلاً به معرفی متغیرهای CI / CD در گیت لب پرداختیم و با هر یک از این متغیر ها و کارکرد آن ها آشنا شدیم.
اما این جلسه از این دوره را به آشنایی با مجوزهای CI در گیت لب GitLab اختصاص داده ایم.
برای آشنایی با مجوزهای CI در گیت لب GitLab ابتدا باید سطوح متغیر های اجازه کاربر را برای انواع مختلف کاربران در یک پروژه بشناسید؛ جدول زیر می تواند این موضوع را روشن تر نشان دهد.
شماره | مهمان Guest | گزارش کننده Reporter | توسعه دهنده Developer | استاد Master | مالک Owner |
۱ | می تواند شماره جدیدی ایجاد کند | می تواند شماره جدیدی ایجاد کند | می تواند شماره جدیدی ایجاد کند | می تواند شماره جدیدی ایجاد کند | می تواند شماره جدیدی ایجاد کند |
۲ | می تواند نظر دهد | می تواند نظر دهد | می تواند نظر دهد | می تواند نظر دهد | می تواند نظر دهد |
۳ | قادر به نوشتن روی project wall است | قادر به نوشتن روی project wall است | قادر به نوشتن روی project wall است | قادر به نوشتن روی project wall است | قادر به نوشتن روی project wall است |
۴ | – | قادر به pull کردن کد پروژه است | قادر به pull کردن کد پروژه است | قادر به pull کردن کد پروژه است | قادر به pull کردن کد پروژه است |
۵ | – | می تواند پروژه را بارگیری کند | می تواند پروژه را بارگیری کند | می تواند پروژه را بارگیری کند | می تواند پروژه را بارگیری کند |
۶ | – | قادر به نوشتن قطعه کد است | قادر به نوشتن قطعه کد است | قادر به نوشتن قطعه کد است | قادر به نوشتن قطعه کد است |
۷ | – | – | می تواند درخواست ادغام جدید ایجاد کند | می تواند درخواست ادغام جدید ایجاد کند | می تواند درخواست ادغام جدید ایجاد کند |
۸ | – | – | قادر به ایجاد شعبه جدید است | قادر به ایجاد شعبه جدید است | قادر به ایجاد شعبه جدید است |
۹ | – | – | قادر به Push و حذف شعبه های محافظت نشده است | قادر به Push و حذف شعبه های محافظت نشده است | قادر به Push و حذف شعبه های محافظت نشده است |
۱۰ | – | – | شامل برچسب ها است | شامل برچسب ها است | شامل برچسب ها است |
۱۱ | – | – | می تواند milestones را ایجاد، ویرایش، حذف کند | می تواند milestones را ایجاد، ویرایش، حذف کند | می تواند milestones را ایجاد، ویرایش، حذف کند |
۱۲ | – | – | می تواند commit status را ایجاد یا به روز کند | می تواند commit status را ایجاد یا به روز کند | می تواند commit status را ایجاد یا به روز کند |
۱۳ | – | – | قادر به نوشتن wiki ها است | قادر به نوشتن wiki ها است | قادر به نوشتن wiki ها است |
۱۴ | – | – | قادر به ایجاد environments های جدید است | قادر به ایجاد environments های جدید است | قادر به ایجاد environments های جدید است |
۱۵ | – | – | می تواند jobs ها را لغو کرده و دوباره امتحان نماید | می تواند jobs ها را لغو کرده و دوباره امتحان نماید | می تواند jobs ها را لغو کرده و دوباره امتحان نماید |
۱۶ | – | – | قادر است تصویر رجیستری را به روزرسانی و حذف کند | قادر است تصویر رجیستری را به روزرسانی و حذف کند | قادر است تصویر رجیستری را به روزرسانی و حذف کند |
۱۷ | – | – | – | قادر است اعضای تیم جدید را اضافه نماید | قادر است اعضای تیم جدید را اضافه نماید |
۱۸ | – | – | – | قادر به Push و حذف شعبه های محافظت شده است | – |
۱۹ | – | – | – | قادر است پروژه را ویرایش کند | قادر است پروژه را ویرایش کند |
۲۰ | – | – | – | می تواند runnersها ، محرک های job و متغیرها را مدیریت کند | می تواند runnersها ، محرک های job و متغیرها را مدیریت کند |
۲۱ | – | – | – | قادر است deploy keys را اضافه کند | قادر است deploy keys را اضافه کند |
۲۲ | – | – | – | قادر به مدیریت clusters است | قادر به مدیریت clusters است |
۲۳ | – | – | – | می تواند hooks های پروژه را پیکربندی کند | می تواند hooks های پروژه را پیکربندی کند |
۲۴ | – | – | – | قادر است محافظت از شعبه را فعال یا غیر فعال کند | قادر است محافظت از شعبه را فعال یا غیر فعال کند |
۲۵ | – | – | – | قادر به بازنویسی یا حذف برچسب های Git است | قادر به بازنویسی یا حذف برچسب های Git است |
بیایید در ادامه آشنایی با مجوزهای CI در گیت لب GitLab با سطح مجوزهای اعضای گروه در یک گروه گیت لب GitLab آشنا شویم.
شماره | مهمان Guest | گزارش کننده Reporter | توسعه دهنده Developer | استاد Master | مالک Owner |
۱ | بررسی گروه | بررسی گروه | بررسی گروه | بررسی گروه | بررسی گروه |
۲ | – | – | – | – | ویرایش گروه |
۳ | – | – | – | – | ایجاد زیر گروه |
۴ | – | – | – | ایجاد پروژه به صورت گروهی | ایجاد پروژه به صورت گروهی |
۵ | – | – | – | – | مدیریت اعضای گروه |
۶ | – | – | – | – | حذف گروه |
۷ | – | مدیریت سطوح گروه | مدیریت سطوح گروه | مدیریت سطوح گروه | مدیریت سطوح گروه |
۸ | – | – | ساخت/ویرایش/حذف milestones های گروه | ساخت/ویرایش/حذف milestones های گروه | ساخت/ویرایش/حذف milestones های گروه |
۹ | – | مشاهده group epic خصوصی | مشاهده group epic خصوصی | مشاهده group epic خصوصی | مشاهده group epic خصوصی |
۱۰ | – | – | – | – | – |
۱۱ | مشاهده group epic خارجی | مشاهده group epic خارجی | مشاهده group epic خارجی | مشاهده group epic خارجی | مشاهده group epic خارجی |
۱۲ | مشاهده group epic عمومی | مشاهده group epic عمومی | مشاهده group epic عمومی | مشاهده group epic عمومی | مشاهده group epic عمومی |
۱۳ | – | ایجاد / ویرایش group epic | ایجاد / ویرایش group epic | ایجاد / ویرایش group epic | ایجاد / ویرایش group epic |
۱۴ | – | – | – | – | حذف group epic |
۱۵ | – | – | – | – | مشاهده Audit Events های گروه |
به جدول زیر توجه نمایید؛ در ادامه آشنایی با مجوزهای CI در گیت لب GitLab قرار است با مجوزهای GitLab CI / CD موجود در آن آشنا شویم. جدول زیر مجوزهای GitLab CI / CD موجود در گیت لب GitLab را نشان می دهد.
شماره | Reporter/Guest | توسعه دهنده Developer | استاد Master | مالک Owner |
۱ | قادر به مشاهده commits ها و jobs ها است | قادر به مشاهده commits ها و jobs ها است | قادر به مشاهده commits ها و jobs ها است | قادر به مشاهده commits ها و jobs ها است |
۲ | قادر به دوباره امتحان کردن و کنسل کردن job است | قادر به دوباره امتحان کردن و کنسل کردن job است | قادر به دوباره امتحان کردن و کنسل کردن job است | |
۳ | – | قادر به جذف آثار و نتایج job است | قادر به جذف آثار و نتایج job است | قادر به جذف آثار و نتایج job است |
۴ | – | – | قادر به حذف پروژه است | قادر به حذف پروژه است |
۵ | – | – | قادر به ایجاد پروژه است | قادر به ایجاد پروژه است |
۶ | – | – | قادر به تغییر پیکربندی پروژه است | قادر به تغییر پیکربندی پروژه است |
۷ | – | – | قادر به افزودن runners های خاص است | قادر به افزودن runners های خاص است |
۸ | – | – | – | قادر به افزودن shared runners است |
۹ | – | – | – | قادر به دیدن events در سیستم است |
۱۰ | – | – | – | رابط مدیر یا Admin interface |
به عنوان آخرین مطلب در ” آشنایی با مجوزهای CI در گیت لب GitLab ” بیایید با مجوز های شغلی یا Job Permissions ها در در گیت لب GitLab آشنا شویم.
شماره | Reporter/Guest | توسعه دهنده Developer | استاد Master | مالک Owner |
۱ | – | اجرای CI job | اجرای CI job | اجرای CI job |
۲ | – | کلون کردن منبع و LFS از پروژه فعلی | کلون کردن منبع و LFS از پروژه فعلی | کلون کردن منبع و LFS از پروژه فعلی |
۳ | – | کلون کردن منبع و LFS از پروژه های عمومی | کلون کردن منبع و LFS از پروژه های عمومی | کلون کردن منبع و LFS از پروژه های عمومی |
۴ | – | کلون کردن منبع و LFS از پروژه های داخلی | کلون کردن منبع و LFS از پروژه های داخلی | کلون کردن منبع و LFS از پروژه های داخلی |
۵ | – | کلون کردن منبع و LFS از پروژه های خصوصی | کلون کردن منبع و LFS از پروژه های خصوصی | کلون کردن منبع و LFS از پروژه های خصوصی |
۶ | – | Push کردن منبع و LFS | Push کردن منبع و LFS | Push کردن منبع و LFS |
۷ | – | Pull کردن تصاویر container از پروژه فعلی | Pull کردن تصاویر container از پروژه فعلی | Pull کردن تصاویر container از پروژه فعلی |
۸ | – | Pull کردن تصاویر container از پروژه های عمومی | Pull کردن تصاویر container از پروژه های عمومی | Pull کردن تصاویر container از پروژه های عمومی |
۹ | – | Pull کردن تصاویر container از پروژه های داخلی | Pull کردن تصاویر container از پروژه های داخلی | Pull کردن تصاویر container از پروژه های داخلی |
۱۰ | – | Pull کردن تصاویر container از پروژه های خصوصی | Pull کردن تصاویر container از پروژه های خصوصی | Pull کردن تصاویر container از پروژه های خصوصی |
۱۱ | – | Push کردن تصاویر container به پروژه فعلی | Push کردن تصاویر container به پروژه فعلی | Push کردن تصاویر container به پروژه فعلی |
۱۲ | – | Push کردن تصاویر container به دیگر پروژه ها | Push کردن تصاویر container به دیگر پروژه ها | Push کردن تصاویر container به دیگر پروژه ها |
در جدول بالا بار ها از عبارت LFS استفاده شده است. اما LFS چیست؟
در حقیقت LFS مخفف Big File Storage است که به معنای ذخیره فایل های بزرگ است. Big File Storage یک پسوند Git دارد که به مبادله و exchange فایل های بزرگی مانند صدا، فیلم، گرافیک را با پرونده های اشاره گر ریز در مخزن شما می پردازد.
در این جلسه به آشنایی با مجوزهای CI در گیت لب GitLab پرداختیم و مفصلاً و به صورت کامل کلیه مجوز ها یا permissions های موجود در گیت لب را در چهار بخش مجزا یا چهار سطح مهمان، گزارش کننده، توسعه دهنده و استاد و مالک بررسی کردیم.
امیدوارم این مقاله مفید بوده باشد.
در جلسه بعدی قرار است با پیکربندی Runners ها آشنا شویم.
با پی وی لرن همراه باشید.