پروژه ها и درباره تصمیم برای ایجاد یک سرویس توسعه مشترک Git Forge که با استفاده از پلتفرم GitLab ساخته خواهد شد. GitLab به پلتفرم اصلی برای تعامل با مخازن Git و میزبانی پروژههای مربوط به توزیعهای CentOS و Fedora تبدیل خواهد شد. سرویس استفاده شده قبلی به حیات خود ادامه خواهد داد، اما به جامعه ای که علاقه مند به توسعه مستمر هستند، واگذار خواهد شد. Pagure از پشتیبانی تیم CPE (Community Platform Engineering) که در Red Hat مشغول به کار است، حذف خواهد شد، که درگیر حفظ زیرساخت برای توسعه و انتشار نسخههای Fedora و CentOS است.
هنگام ارزیابی راه حل های ممکن برای Git Forge جدید، ما در نظر گرفتیم
Pagure و Gitlab. بر اساس مطالعه ای در مورد و خواسته های شرکت کنندگان در پروژه های Fedora، CentOS، RHEL و CPE، الزامات عملکردی شکل گرفت و انتخاب به نفع Gitlab انجام شد. علاوه بر عملیات استاندارد با مخازن (ادغام، ایجاد فورک، افزودن کد و غیره)، امنیت، سهولت استفاده و پایداری پلتفرم از جمله الزامات کلیدی عنوان شد.
الزامات شامل ویژگیهایی مانند ارسال درخواستهای فشار از طریق HTTPS، ابزارهای محدود کردن دسترسی به شعب، پشتیبانی از شعب خصوصی، جداسازی دسترسی برای کاربران خارجی و داخلی (به عنوان مثال، کار بر روی حذف آسیبپذیریها در طول تحریم برای افشای اطلاعات مربوط به مشکل) بود. ، رابط آشنایی، یکسان سازی زیرسیستم ها برای کار با گزارش های مشکل، کد، مستندسازی و برنامه ریزی ویژگی های جدید، در دسترس بودن ابزار برای ادغام با IDE، پشتیبانی از گردش کار استاندارد.
از قابلیتهای GitLab که در نهایت بر تصمیمگیری برای انتخاب این پلتفرم تأثیر گذاشت، به پشتیبانی از زیر گروهها با دسترسی انتخابی به مخازن، توانایی استفاده از ربات برای ادغام خودکار اشاره شد (CentOS Stream برای نگهداری بستهها با هسته مورد نیاز است)، وجود ابزارهای داخلی برای توسعه برنامه ریزی، امکان استفاده از سرویس SAAS آماده با سطح تضمین شده در دسترس بودن (منابع را برای حفظ زیرساخت سرور آزاد می کند).
تصمیم در حال حاضر است انتقاد در میان توسعه دهندگان به دلیل این واقعیت است که این تصمیم بدون بحث قبلی گسترده گرفته شده است. همچنین نگرانی هایی در مورد عدم استفاده این سرویس از نسخه رایگان Comminity GitLab مطرح شد. به طور خاص، قابلیت های لازم برای اجرای الزامات Git Forge که در اعلامیه توضیح داده شده است فقط در نسخه اختصاصی موجود است. .
قصد استفاده از سرویس SAAS (برنامه به عنوان سرویس) ارائه شده توسط GitLab، به جای استقرار GitLab بر روی سرورهای خود، نیز مورد انتقاد قرار گرفت، که این سرویس را از کنترل خارج می کند (به عنوان مثال، نمی توان مطمئن بود که تمام آسیب پذیری ها در سیستم به سرعت حذف می شود، زیرساخت ها حفظ می شود، روزی وجود نخواهد داشت و خرابکاری توسط پرسنل یک شرکت شخص ثالث مستثنی است). راه حل نیز با آن کار نمی کند ، که مشخص می کند پروژه باید جایگزین های رایگان را ترجیح دهد.
در همین حال، GitLab در مورد کشف پیاده سازی 18 عملکردی که قبلا فقط در نسخه های اختصاصی GitLab ارائه شده بود. قابلیت ها حوزه های مختلفی از مدیریت چرخه توسعه کامل نرم افزار، از جمله برنامه ریزی توسعه، ایجاد پروژه، تأیید، مدیریت بسته، تولید انتشار، پیکربندی و امنیت را پوشش می دهند.
توابع زیر به محدوده آزاد منتقل شده اند:
- پیوست موضوع مرتبط؛
- مشکل صادرات از GitLab به CSV.
- حالتی از برنامه ریزی، سازماندهی و تجسم فرآیند توسعه عملکردها یا انتشارات فردی؛
- سرویس داخلی برای ارتباط شرکت کنندگان پروژه با اشخاص ثالث با استفاده از ایمیل.
- ترمینال وب برای Web IDE.
- امکان همگام سازی فایل ها برای آزمایش تغییرات کد در ترمینال وب.
- کنترلهایی را طراحی کنید که به شما امکان میدهند مدلها و داراییها را برای صدور، با استفاده از مسئله بهعنوان یک نقطه دسترسی واحد به همه چیزهایی که برای توسعه یک ویژگی جدید نیاز دارید، آپلود کنید.
- گزارش های کیفیت کد؛
- پشتیبانی از مدیران بسته Conan (C/C++)، Maven (جاوا)، NPM (node.js) و NuGet (.NET).
- پشتیبانی از استقرار قناری، به شما امکان می دهد نسخه جدیدی از برنامه را روی بخش کوچکی از سیستم ها نصب کنید.
- توزیعهای افزایشی، اجازه میدهد نسخههای جدید در ابتدا فقط به تعداد کمی از سیستمها تحویل داده شوند و به تدریج پوشش را تا 100% افزایش دهند.
- پرچمهای فعالسازی عملکرد، که امکان ارائه پروژه را در نسخههای مختلف، فعال کردن پویا ویژگیهای خاص را ممکن میسازد.
- حالت نمای کلی استقرار، که به شما امکان می دهد وضعیت هر محیط یکپارچه سازی مداوم را بر اساس Kubernetes ارزیابی کنید.
- پشتیبانی از تعریف چندین خوشه Kubernetes در پیکربندی (به عنوان مثال، می توانید از خوشه های Kubernetes جداگانه برای اجرای آزمایشی و بارهای کاری استفاده کنید).
- پشتیبانی از تعریف سیاست های امنیتی شبکه کانتینری که به شما امکان می دهد دسترسی بین پادهای Kubernetes را محدود کنید.
علاوه بر این، می توان به آن اشاره کرد به روز رسانی GitLab 12.9.1، 12.8.8 و 12.7.8 (نسخه انجمن و نسخه Enterprise)، که آسیب پذیری را برطرف می کند. این مشکل از زمان انتشار GitLab EE/CE 8.5 وجود داشته است و اجازه میدهد تا محتوای هر فایل محلی هنگام انتقال یک مشکل بین پروژهها خوانده شود.
جزئیات مربوط به این آسیب پذیری پس از 30 روز فاش می شود.
منبع: opennet.ru
