ProHoster > بلوق > إدارة > تم إصدار # GitLab 13.4 مع مستودع HashiCorp لمتغيرات CI و Kubernetes Agent
تم إصدار # GitLab 13.4 مع مستودع HashiCorp لمتغيرات CI و Kubernetes Agent
تم إصدار الإصدار 13.4 مع مستودع HashiCorp لمتغيرات CI و Kubernetes Agent ومركز الأمان والميزات القابلة للتحويل في Starter
في GitLab ، نفكر دائمًا في كيفية مساعدة المستخدمين على تخفيف المخاطر وتحسين الكفاءة وتقديم أسرع على النظام الأساسي المفضل لديك. أضفنا هذا الشهر الكثير من الميزات الجديدة الرائعة التي تعمل على تحسين الأمان وتقليل الثغرات الأمنية وتحسين الكفاءة وتسهيل استخدام GitLab ومساعدة فريقك على تقديم الميزات بشكل أسرع. نأمل أن تجد الميزات الرئيسية للإصدار مفيدة أيضًا 53 ميزات جديدة أخرىالمضافة في هذا الإصدار.
طريقة أخرى لتقليل المخاطر هي استخدام الجديد وكيل GitLab Kubernetes. يمكن لمتخصصي العمليات نشر مجموعات Kubernetes من GitLab دون الحاجة إلى عرض مجموعتهم على الإنترنت بالكامل. نحن نقدم أيضًا دعم التحكم التلقائي في الإصدار لملفات حالة Terraform الجديدة ذات الامتداد حالة Terraform التي يديرها GitLab لدعم الامتثال وسهولة التصحيح. أخيرًا ، تطورت لوحة تحكم أمان المثيل إلى مركز أمان GitLab مع تقارير الثغرات الأمنية وإعدادات الأمان.
عمل أكثر ملاءمة وكفاءة مع GitLab
لقد قمنا بتحسين بحثنا العالمي عن طريق إضافة التنقل السريع من شريط البحث، والذي يسمح لك بالتنقل بسهولة إلى أحدث التذاكر والمجموعات والمشاريع والإعدادات وموضوعات المساعدة. يسعدنا أن نعلن ذلك في GitLab Pages ظهرت عمليات إعادة التوجيه لإعادة توجيه الصفحات والأدلة الفردية داخل الموقع ، مما يسمح للمستخدمين بنشر مواقعهم بشكل أكثر كفاءة. وبالنسبة لأولئك الذين يرغبون في تلقي معلومات موسعة حول النشر ، فإن هذا الإصدار يسمح إدارة المئات من عمليات نشر المشروع المدعومة من شريط أدوات البيئة!
ساهم فابيو بشكل كبير مساهمة в عرض تغطية الكود في اختلاف طلب الدمج - ميزة كانت تنتظر وقتًا طويلاً في مجتمع GitLab. هذه مساهمة مهمة حقًا مع تغييرات غير تافهة تتطلب تعاونًا مستمرًا مع أعضاء فريق GitLab وأثرت على العديد من مجالات المشروع ، مثل UX والواجهة الأمامية والخلفية.
في الإصدار 12.10 ، قدم GitLab القدرة على تلقي وتمرير مفاتيح وظائف CI باستخدام معالج مهام GitLab (GitLab runner). نحن الآن بصدد التوسع المصادقة مع JWT، مضيفا بناء الجملة الجديد secrets إلى ملف .gitlab-ci.yml. سيسهل هذا إعداد مستودع HashiCorp واستخدامه مع GitLab.
سمح تكامل GitLab مع Kubernetes منذ فترة طويلة بالنشر على مجموعات Kubernetes دون الحاجة إلى التكوين اليدوي. أحب العديد من المستخدمين سهولة استخدام هذه الحزمة ، بينما واجه البعض الآخر بعض الصعوبات. للتكامل المستمر ، يجب أن تكون مجموعتك قابلة للوصول من الإنترنت حتى يتمكن GitLab من الوصول إليها. بالنسبة للعديد من المؤسسات ، هذا غير ممكن لأنها تقيد الوصول إلى المجموعات لأسباب تتعلق بالأمان أو التوافق أو لأسباب تنظيمية. للتغلب على هذه القيود ، يحتاج المستخدمون إلى إنشاء أدواتهم فوق GitLab ، وإلا فلن يتمكنوا من استخدام هذه الميزة.
نقدم اليوم وكيل GitLab Kubernetes ، وهو طريقة جديدة للنشر في مجموعات Kubernetes. يعمل الوكيل داخل مجموعتك ، لذلك لا تحتاج إلى تعريضه للإنترنت بالكامل. ينسق الوكيل النشر عن طريق طلب تغييرات جديدة من GitLab بدلاً من دفع GitLab للتحديثات إلى المجموعة. بغض النظر عن طريقة GitOps التي تستخدمها ، فإن GitLab مناسب لك.
يرجى ملاحظة أن هذا هو الإصدار الأول للوكيل. حاليًا ، ركزنا وكيل GitLab Kubernetes على تكوين وإدارة النشر من خلال التعليمات البرمجية. بعض ميزات تكامل Kubernetes الحالية ، مثل لوحات النشر والتطبيقات المُدارة بواسطة GitLab ، غير مدعومة بعد. نحن نفترضأنه سيتم إضافة هذه الإمكانات إلى الوكيل في الإصدارات المستقبلية ، بالإضافة إلى عمليات تكامل جديدة تركز على الأمان والامتثال.
في السابق ، لم يسمح لك نظام الأذونات في GitLab بتقسيم المسؤوليات في فريقك بشكل صحيح بين المسؤولين عن التطوير وأولئك المسؤولين عن النشر. مع إصدار GitLab 13.4 ، يمكنك منح الإذن لتأكيد طلبات الدمج للنشر ، وكذلك لنشر الكود فعليًا للأشخاص الذين لا يكتبون التعليمات البرمجية ، مع عدم منحهم حق وصول المشرف (في الترجمة الروسية لـ GitLab ، "المشرف ").
في السابق ، كانت إدارة الثغرات الأمنية على مستوى المثيل محدودة في كل من الوظائف والمرونة. كانت الواجهة عبارة عن صفحة واحدة تجمع بين تفاصيل الثغرات الأمنية والرسوم البيانية للمقاييس والإعدادات. لا يوجد مجال كبير لتطوير هذه الميزات أو استخدام ميزات الأمان الأخرى.
لقد قمنا بإجراء تغييرات جوهرية على إدارة الأمن وشفافية الأمان في GitLab. تم تحويل لوحة أمان المثيل إلى مركز أمان كامل. التغيير الأكبر هو إدخال بنية قائمة جديدة: بدلاً من صفحة واحدة ، سترى الآن لوحة تحكم الأمان ، وتقرير الثغرات الأمنية ، وقسم الإعدادات بشكل منفصل. في حين أن الوظيفة لم تتغير ، فإن تقسيمها سيسمح بإدخال تحسينات على هذا القسم والتي قد تكون صعبة بخلاف ذلك. كما أنه يمهد الطريق لميزات أخرى متعلقة بالأمان ليتم إضافتها في المستقبل.
يحتوي قسم الإبلاغ عن الثغرات الأمنية الآن على مساحة أكبر لعرض التفاصيل المهمة. يتم هنا جمع نقاط الضعف الموجودة حاليًا في قائمة نقاط الضعف الخاصة بالمشروع. يؤدي نقل عناصر واجهة المستخدم بمقاييس الضعف إلى قسم منفصل إلى إنشاء لوحة تحكم أمان ملائمة. إنها الآن لوحة للتصورات المستقبلية - ليس فقط لإدارة الثغرات الأمنية ، ولكن لأي مقاييس متعلقة بالأمان. أخيرًا ، تخلق منطقة الإعدادات المخصصة مساحة مشتركة لجميع إعدادات الأمان على مستوى المثيل ، وليس فقط إدارة الثغرات الأمنية.
في وقت سابق من هذا العام ، التزمت GitLab بـ نقل 18 ميزات في المصدر المفتوح. في هذا الإصدار ، أكملنا نقل الميزات القابلة للتحويل إلى خطة Starter وسنواصل نقلها إلى Core باستخدام جيت لاب 13.5. نحن متحمسون لتقديم هذه الميزة إلى المزيد من المستخدمين ونريد أن نعرف كيف ستستخدمها.
في بعض الأحيان ، عند التنقل عبر GitLab ، تريد الانتقال مباشرة إلى مشروع معين بدلاً من صفحة نتائج البحث.
باستخدام شريط البحث العالمي ، يمكنك التنقل بسرعة إلى أحدث التذاكر والمجموعات والمشاريع والإعدادات وموضوعات التعليمات. يمكنك حتى استخدام مفتاح الاختصار /لتحريك المؤشر إلى شريط البحث لتصفح GitLab بشكل أكثر كفاءة!
عند مراجعة طلب الدمج ، قد يكون من الصعب تحديد ما إذا كان الرمز الذي تم تغييره مشمولاً باختبارات الوحدة. بدلاً من ذلك ، يمكن للمراجعين الاعتماد على التغطية الشاملة والمطالبة بزيادتها قبل الموافقة على طلب الدمج. يمكن أن يؤدي هذا إلى اتباع نهج عشوائي في كتابة الاختبارات التي لا تؤدي حقًا إلى تحسين جودة الكود أو تغطية الاختبار.
الآن ، عند عرض اختلاف طلب الدمج ، سترى عرضًا مرئيًا لتغطية الكود. ستتيح لك العلامات الجديدة أن تفهم بسرعة ما إذا كان الكود الذي تم تغييره مشمولاً باختبار الوحدة ، مما سيساعد في تسريع مراجعات الكود ووقت دمج الكود الجديد ونشره.
منذ إصدار GitLab 12.5 مع لوحات البيئة يمكنك تتبع حالة البيئات ، ولكن ليس أكثر من سبع بيئات في ثلاثة مشاريع. لقد قمنا بتحسين هذه اللوحة في الإصدار 13.4 من خلال ترقيم الصفحات لمساعدتك في الحفاظ على بيئاتك وإدارتها على نطاق واسع. يمكنك الآن رؤية المزيد من البيئات في المزيد من المشاريع.
يعد اختبار زغب واجهة برمجة التطبيقات طريقة رائعة للعثور على الأخطاء ونقاط الضعف في تطبيقات الويب وواجهات برمجة التطبيقات التي قد تفوتها الماسحات الضوئية وطرق الاختبار الأخرى.
يتيح لك اختبار Fuzzing API في GitLab توفير ملفات مواصفات OpenAPI v2 أو ملف HAR التطبيق الخاص بك ثم يقوم تلقائيًا بإنشاء مدخلات عشوائية لاختبار حالة الحافة والبحث عن الأخطاء. يتم عرض النتائج على الفور في خط الأنابيب الخاص بك.
هذا هو أول إصدار لنا من اختبار API الغامض ونود أن نسمع رأيك. لاختبار التشويش ، لدينا المزيد في المخزون العديد من الأفكار، والتي سنعتمد على إصدار هذه الميزة.
في الماضي ، كان إنشاء رسم بياني في لوحة معلومات المقاييس في GitLab مهمة شاقة. بعد إنشاء المقياس في ملف YAML باللوحة ، أجريت تغييرات على master، دون أن تكون قادرًا على التحقق من أن الرسم البياني الذي أنشأته للتو يعمل تمامًا كما تريد. بدءًا من هذا الإصدار ، يمكنك معاينة التغييرات أثناء إنشاء رسم بياني ، والحصول على فكرة عن النتيجة قبل إرسال التغييرات إلى ملف .yaml الخاص باللوحة.
عندما تدير عددًا كبيرًا من المشاريع في GitLab ، فأنت بحاجة إلى مصدر واحد للمعلومات حول كيفية تغير تغطية التعليمات البرمجية عبر المشاريع بمرور الوقت. في السابق ، كان عرض هذه المعلومات يتطلب عملاً يدويًا شاقًا ويستغرق وقتًا طويلاً: كان عليك تنزيل بيانات تغطية الكود من كل مشروع ودمجها في جدول.
في الإصدار 13.4 ، أصبح من الممكن التحويل بسهولة وسرعة إلى ملفات .csv ملف جميع البيانات على تغطية التعليمات البرمجية لجميع مشاريع المجموعة أو لمجموعة مختارة من المشاريع. هذه الميزة هي MVC ، وسوف يتبعها الاحتمال متوسط تغطية المؤامرة بمرور الوقت.
يقدم هذا الإصدار دعمًا لعدة لغات جديدة لاختبار الزغب الذي يهدف إلى التغطية الكاملة.
يمكنك الآن استكشاف جميع إمكانيات اختبار الزغب في تطبيقات Java و Rust و Swift والعثور على الأخطاء ونقاط الضعف التي قد تفوتها الماسحات الضوئية وطرق الاختبار الأخرى.
تعرض صفحة البيئات الحالة العامة لبيئاتك. في هذا الإصدار ، قمنا بتحسين هذه الصفحة بإضافة عرض التنبيهات. ستساعدك التنبيهات التي تم تشغيلها جنبًا إلى جنب مع حالة بيئاتك على اتخاذ الإجراءات التصحيحية بشكل أسرع.
عند استخدام خطوط الأنابيب المتداخلة ، أصبح من الممكن تشغيل خطوط أنابيب جديدة داخل خطوط الأنابيب الفرعية. يمكن أن يكون المستوى الإضافي للعمق مفيدًا إذا كنت بحاجة إلى المرونة لإنشاء عدد متغير من خطوط الأنابيب.
في السابق ، عند استخدام خطوط الأنابيب المتداخلة ، كان كل خط أنابيب فرعي يتطلب مهمة تشغيل تم تحديدها يدويًا في خط الأنابيب الأصلي. يمكنك الآن إنشاء خطوط أنابيب متداخلة ستبدأ ديناميكيًا أي عدد من خطوط الأنابيب المتداخلة الجديدة. على سبيل المثال ، إذا كان لديك monorepo ، فيمكنك إنشاء أول خط أنابيب متداخل ديناميكيًا ، والذي سينشئ بنفسه العدد المطلوب من خطوط الأنابيب الجديدة بناءً على التغييرات في الفرع.
لم يكن التنقل بين خطوط الأنابيب الرئيسية والمتداخلة ملائمًا للغاية في السابق - فقد استغرق الأمر الكثير من النقرات للوصول إلى خط الأنابيب المطلوب. لم يكن من السهل أيضًا معرفة الوظيفة التي بدأت خط الأنابيب هذا بالضبط. الآن سيكون من الأسهل بكثير رؤية العلاقات بين خطوط الأنابيب الرئيسية والمتداخلة.
إذا كنت تستخدم مصفوفة المهام، ربما لاحظت أنه كان من الصعب تحديد أي متغير مصفوفة تم استخدامه لأي وظيفة ، حيث بدت أسماء الوظائف مثل matrix 1/4. في الإصدار 13.4 ، سترى القيم ذات الصلة للمتغيرات التي تم استخدامها في هذه الوظيفة ، بدلاً من الاسم العام للوظيفة. على سبيل المثال ، إذا كان هدفك هو تصحيح أخطاء معمارية x86 ، فسيتم استدعاء المهمة matrix: debug x86.
سيتمكن مستخدمو GitLab الآن من ربط حساباتهم على GitLab بحساب Atlassian Cloud. سيسمح لك ذلك بتسجيل الدخول إلى GitLab باستخدام بيانات اعتماد Atlassian الخاصة بك ، بالإضافة إلى إرساء الأساس لتحسينات التكامل المستقبلية. جيتلاب مع جيرا ومع منتجات أخرى من خط Atlassian.
تحتاج منظمات الامتثال إلى طريقة لإظهار للمدققين نظرة شاملة للمكونات المرتبطة بأي تغيير إنتاجي معين. داخل GitLab ، يعني هذا جمع كل شيء في مكان واحد: طلبات الدمج والتذاكر وخطوط الأنابيب وعمليات الفحص الأمني وبيانات الالتزام الأخرى. حتى الآن ، كان عليك إما جمع هذا يدويًا في GitLab ، أو إعداد أدواتك لجمع المعلومات ، والتي لم تكن فعالة للغاية.
يمكنك الآن التقاط هذه البيانات وتصديرها برمجيًا لتلبية احتياجات التدقيق أو غيرها من الاحتياجات. لتصدير قائمة بجميع عمليات الدمج للمجموعة الحالية ، عليك الانتقال إلى لوحات الامتثال وانقر على الزر قائمة بجميع عمليات الدمج. سيحتوي الملف الناتج على جميع طلبات الدمج ، ومؤلفها ، ومعرّف طلب الدمج المرتبط ، والمجموعة ، والمشروع ، والمسؤولين ، وغيرها من المعلومات.
تعد إدارة الوصول إلى مساحة اسم GitLab جزءًا مهمًا من جهود الامتثال. من مبادئ الامتياز الأقل إلى تعطيل الوصول الموقوت ، يمكن أن يكون هناك العديد من المتطلبات المتعلقة برموز الوصول الشخصية في GitLab. لتسهيل الحفاظ على جميع بيانات اعتماد المستخدم هذه وإدارتها داخل مساحة الاسم الخاصة بك ، فقد قدمنا القدرة على سرد جميع رموز الوصول الخاصة واختيارياً يمنع الدخول من خلال API.
تسمح هذه التحسينات على واجهة برمجة تطبيقات GitLab للمستخدمين بإدراج رموز الوصول الشخصية الخاصة بهم وإبطالها ، ويسمح للمسؤولين بإدراج الرموز المميزة لمستخدميهم وإبطالها. سيكون من الأسهل الآن للمسؤولين معرفة من يمكنه الوصول إلى مساحة الاسم الخاصة بهم ، واتخاذ قرارات الوصول بناءً على بيانات المستخدم ، وإلغاء رموز الوصول الشخصية التي ربما تم اختراقها أو التي تقع خارج سياسات التحكم في الوصول الخاصة بالشركة.
قبل بضعة أشهر أعلنا عن خطة ل ترجمة 18 ميزة إلى مفتوحة المصدر. نعمل على الوفاء بهذا الوعد ، لقد قطعناها على أنفسنا التذاكر ذات الصلة, تصدير التذاكر إلى CSV и وضع تركيز لوحة المهام (في الترجمة الروسية لـ "لوحة مناقشة" GitLab) متوفرة في الخطة الأساسية. ينطبق هذا فقط على العلاقات من النوع "المرتبط بـ" ، وتظل العلاقات من النوع "الكتل" و "الكتل" في الخطط المدفوعة.
عند مراجعة تغييرات التعليمات البرمجية والمناقشات والتزامات طلبات الدمج ، غالبًا ما يكون من المرغوب فيه التحقق من الفرع محليًا لإجراء مراجعة أعمق. ومع ذلك ، يصبح العثور على اسم الفرع أكثر صعوبة حيث تتم إضافة المزيد من المحتوى إلى وصف طلب الدمج ويجب تمرير الصفحة أكثر فأكثر.
لقد أضفنا اسم الفرع إلى الشريط الجانبي لطلب الدمج ، مما يجعله متاحًا في أي وقت ويلغي الحاجة إلى التمرير عبر الصفحة بأكملها. مثل ارتباط طلب الدمج ، يحتوي قسم الفرع المصدر على زر "نسخ" سهل الاستخدام.
شكرا إيثان ريسور للمساهمة الضخمة في تطوير هذه الميزة!
طلبات الدمج التي تضيف تغييرات إلى ملفات متعددة أحيانًا تؤدي إلى طي الاختلافات في الملفات الكبيرة لتحسين أداء العرض. عند حدوث ذلك ، من الممكن تخطي ملف عن طريق الخطأ عند المراجعة ، خاصة في طلبات الدمج التي تحتوي على عدد كبير من الملفات. بدءًا من الإصدار 13.4 ، ستضع طلبات الدمج علامة على الاختلافات التي تحتوي على ملفات مطوية ، لذلك لن تفوتك هذه الملفات أثناء عملية مراجعة التعليمات البرمجية. لمزيد من الوضوح ، نخطط لإضافة تمييز هذه الملفات في إصدار مستقبلي. ترقبوا التحديثات في تذكرة جيت لاب رقم 16047.
في قسم فرق طلب الدمج ، يتم طي الملفات الكبيرة لتحسين الأداء. ومع ذلك ، عند مراجعة الكود ، قد يتم تخطي بعض الملفات عندما يقوم المراجع بالتمرير عبر قائمة الملفات ، حيث يتم طي جميع الملفات الكبيرة.
لقد أضفنا تحذيرًا مرئيًا أعلى صفحة مقارنة طلب الدمج لإبلاغ المستخدمين بوجود ملف مدمج في هذا القسم. بهذه الطريقة لن تفوتك أي تغييرات في طلب الدمج أثناء المراجعة.
في السابق ، عندما تعطلت العقدة الأساسية لمجموعة Gitaly ، تم وضع علامة على المستودعات الموجودة على تلك العقدة على أنها للقراءة فقط. أدى هذا إلى منع فقدان البيانات في المواقف التي حدثت فيها تغييرات على العقدة التي لم يتم نسخها بعد. عند إعادة توصيل العقدة ، لم يتم استرداد GitLab تلقائيًا ، وكان على المسؤولين بدء عملية المزامنة يدويًا أو تحمل فقدان البيانات. قد تؤدي المواقف الأخرى أيضًا إلى مستودعات قديمة أو للقراءة فقط ، مثل فشل وظيفة النسخ المتماثل في عقدة ثانوية. في هذه الحالة ، يظل المستودع قديمًا حتى يتم تنفيذ عملية الكتابة التالية ، والتي ستبدأ مهمة النسخ المتماثل.
لحل هذه المشكلة برايفكت يقوم الآن بجدولة مهمة النسخ المتماثل عندما يكتشف مستودعًا قديمًا على عقدة وأحدث إصدار من مستودع على عقدة أخرى. تعمل وظيفة النسخ المتماثل هذه على إبقاء المستودع محدثًا تلقائيًا ، مما يلغي الحاجة إلى استعادة البيانات يدويًا. يضمن الاسترداد التلقائي أيضًا تحديث العقد الثانوية بسرعة في حالة فشل مهمة النسخ المتماثل ، بدلاً من انتظار عملية الكتابة التالية. نظرًا لأن العديد من مجموعات Gilaly تخزن عددًا كبيرًا من المستودعات ، فإن هذا يقلل بشكل كبير من الوقت الذي يقضيه المسؤولون ومهندسو الموثوقية في استعادة البيانات بعد حدوث خطأ.
بالإضافة إلى ذلك ، يبدأ الإصلاح التلقائي في تكرار المستودعات على أي عقدة Gitaly جديدة مضافة إلى المجموعة ، مما يلغي العمل اليدوي لإضافة عقد جديدة.
يعتمد الاتصال الفعال في GitLab على قوائم المهام. إذا تمت الإشارة إليك في أحد التعليقات ، فمن الأهمية بمكان أن تكون قادرًا على الانتقال إلى مهمة والبدء في القيام بشيء ما أو وضع علامة "تم" عليه. من المهم أيضًا أن تكون قادرًا على تعيين مهمة لنفسك عندما تحتاج إلى العمل على شيء ما أو العودة إليه لاحقًا.
في السابق ، لم يكن بإمكانك إضافة مهام أو وضع علامة "تم" عليها أثناء العمل على التصميمات. أدى هذا إلى تعطل خطير في فعالية الاتصال بين فرق المنتج ، نظرًا لأن مهام المهام هي عنصر حاسم في سير العمل في GitLab.
في الإصدار 13.4 ، تلاحق التصميمات تعليقات التذاكر في استخدام المهام ، مما يجعلها أكثر اتساقًا وكفاءة.
لقد قمنا بتحسين دليل استكشاف أخطاء GitLab CI / CD وإصلاحها عن طريق إضافة معلومات إضافية حول المشكلات الشائعة التي قد تواجهها. نأمل أن تكون الوثائق المحسّنة مورداً قيّماً لمساعدتك في إعداد وتشغيل GitLab CI / CD بسرعة وسهولة.
في السابق ، كان من الممكن أن تسقط طلبات الدمج من قائمة انتظار الدمج عن طريق الصدفة بسبب التعليقات المتأخرة. إذا كان طلب الدمج موجودًا بالفعل في قائمة الانتظار وقام شخص ما بإضافة تعليق إليه أدى إلى إنشاء مناقشة جديدة لم يتم حلها ، فقد تم اعتبار طلب الدمج غير مناسب للدمج وتم استبعاده من قائمة الانتظار. الآن ، بعد إضافة طلب الدمج إلى قائمة انتظار الدمج ، يمكن إضافة تعليقات جديدة دون خوف من كسر عملية الدمج.
يجب أن يكون المطورون قادرين على رؤية قيمة تغطية الكود بعد اكتمال خط الأنابيب - حتى في السيناريوهات المعقدة مثل تشغيل خط أنابيب بوظائف متعددة تحتاج إلى تحليل لحساب قيمة التغطية. في السابق ، كانت أداة طلب الدمج تعرض فقط متوسط هذه القيم ، مما يعني أنه كان عليك الانتقال إلى صفحة الوظيفة والعودة إلى طلب الدمج للحصول على قيم تغطية متوسطة. لتوفير الوقت وتلك الخطوات غير الضرورية ، فقد جعلنا الأداة تعرض متوسط قيمة التغطية ، وتغييراتها بين الفروع الهدف والمصدر ، وتلميح أداة يوضح قيمة التغطية لكل مهمة ، والتي على أساسها تم حساب المتوسط .
يعد GitLab Package Registry مكانًا لتخزين وتوزيع الحزم بتنسيقات مختلفة. عندما يحتوي مشروعك أو مجموعتك على الكثير من الحزم ، فأنت بحاجة إلى تحديد الحزم غير المستخدمة بسرعة وإزالتها حتى لا يقوم الأشخاص بتنزيلها. يمكنك إزالة الحزم من السجل الخاص بك عبر حزمة APIs أو من خلال واجهة مستخدم تسجيل الحزمة. ومع ذلك ، حتى الآن ، لا يمكنك حذف الحزم عند عرض مجموعة من خلال واجهة المستخدم. نتيجة لذلك ، كان عليك إزالة الحزم الزائدة على أساس كل مشروع ، وهو أمر غير فعال.
يمكنك الآن إزالة الحزم عند عرض سجل حزمة المجموعة. ما عليك سوى الانتقال إلى صفحة تسجيل الحزمة الخاصة بالمجموعة ، وتصفية الحزم حسب الاسم ، وإزالة أي حزم لا تحتاج إليها.
يمكنك استخدام مستودع GitLab Conan لنشر وتوزيع تبعيات C / C ++. ومع ذلك ، في السابق كان من الممكن فقط تغيير حجم الحزم إلى مستوى المثيل ، حيث يمكن أن يكون اسم حزمة Conan بحد أقصى 51 حرفًا. إذا كنت ترغب في نشر حزمة من مجموعة فرعية مثل gitlab-org/ci-cd/package-stage/feature-testing/conan، كان من المستحيل تقريبًا القيام بذلك.
يمكنك الآن توسيع نطاق حزم Conan إلى مستوى المشروع ، مما يسهل نشر وتوزيع تبعيات مشروعك.
نحن متحمسون لإضافة مسح التبعية للمشاريع ذات الرموز C و C ++ و C # و .Net التي تستخدم NuGet 4.9+ أو مديري حزم Conan إلى قائمتنا. اللغات والأطر المدعومة. يمكنك الآن تمكين فحص التبعية كجزء من المرحلة الآمنة للتحقق من التبعيات المضافة عبر مديري الحزم بحثًا عن نقاط الضعف المعروفة. سيتم عرض الثغرات التي تم العثور عليها في طلب الدمج إلى جانب مستوى خطورتها ، بحيث تعرف قبل الدمج المخاطر التي تحملها التبعية الجديدة. يمكنك أيضًا تخصيص مشروعك لطلبه تأكيد طلب الدمج بالنسبة إلى التبعيات ذات الثغرات الحرجة (الحرجة) أو العالية (المرتفعة) أو غير المعروفة (غير المعروفة).
في السابق ، عند تعيين إعداد طلب الدمج دمج عندما ينتهي خط الأنابيب (الدمج عند نجاح خط الأنابيب ، MWPS) لم يتم إرسال إشعار بالبريد الإلكتروني. كان عليك التحقق يدويًا من الحالة أو الانتظار حتى يتم إعلامك بالدمج. في هذا الإصدار ، يسعدنا أن نقدم مساهمة المستخدم تضمين التغريدة، والذي حل هذه المشكلة عن طريق إضافة إشعارات تلقائية لكل من اشترك في طلب الدمج عندما يغير المراجع إعداد الدمج إلى MWPS.
لا تؤدي كل مشكلة تحدث على الفور إلى إطلاق تنبيهات: يبلغ المستخدمون عن انقطاع الخدمة ويقوم أعضاء الفريق بالتحقيق في مشكلات الأداء. أصبحت الحوادث الآن شكلاً من أشكال التذكرة حتى تتمكن فرقك من إنشائها بسرعة كجزء من سير عمل مألوف. انقر مهمة جديدة من أي مكان في GitLab وفي الميدان نوع حدد حادث.
لقد قمنا بتحسين تنبيهات GitLab عن طريق إضافة نوع إشارة جديد خصيصًا لها في إصدار GitLab من Markdown ، مما يسهل مشاركة التنبيهات وذكرها. يستخدم ^alert#1234لذكر التنبيه في أي حقل Markdown: في الحوادث أو التذاكر أو طلبات الدمج. سيساعدك أيضًا في تحديد المشكلات التي يتم إنشاؤها من التنبيهات ، وليس من التذاكر أو طلبات الدمج.
يحتوي وصف التنبيه على معلومات مهمة لتشخيص الفشل والتعافي ، ويجب أن يسهل الوصول إلى هذه المعلومات حتى لا تضطر إلى تبديل الأدوات أو علامات التبويب أثناء العمل على حل حادث. تعرض الحوادث التي تم إنشاؤها من التنبيهات الوصف الكامل للتنبيه في علامة تبويب تفاصيل التنبيه.
يتمتع GitLab ، كتطبيق واحد ، بقدرة فريدة على اكتشاف المحتوى عبر سير عمل DevOps بأكمله بسرعة. في GitLab 13.4 ، يُرجع البحث المتقدم نتائج أسرع بنسبة 75٪ عند ذلك يقتصر على بعض مساحات الأسماء والمشاريع، مثل على GitLab.com.
القدرة على تأخير حذف المشروع كانت قدم في 12.6. ومع ذلك ، لم يكن من الممكن في السابق رؤية جميع المشاريع التي تنتظر حذفها في مكان واحد. يمكن لمسؤولي المثيل المخصص من GitLab الآن عرض جميع مشاريع الحذف المعلقة في مكان واحد ، جنبًا إلى جنب مع الأزرار لاستعادة هذه المشاريع بسهولة.
تمنح هذه الميزة المسؤولين تحكمًا أكبر في حذف المشاريع من خلال جمع جميع المعلومات ذات الصلة في مكان واحد وتوفير القدرة على التراجع عن عمليات الحذف غير المرغوب فيها.
في السابق ، لا يمكن تكوين قواعد الدفع الجماعي إلا من خلال زيارة كل مجموعة على حدة من خلال واجهة مستخدم GitLab وتطبيق هذه القواعد. يمكنك الآن إدارة هذه القواعد عبر واجهة برمجة التطبيقات لدعم أدواتك المخصصة وأتمتة GitLab.
تخزين بيانات الاعتماد يزود المسؤولين بالمعلومات التي يحتاجون إليها لإدارة بيانات اعتماد المستخدم لمثيل GitLab الخاص بهم. نظرًا لاختلاف المؤسسات الموجهة نحو الامتثال في مدى صرامة سياسات إدارة بيانات الاعتماد الخاصة بها ، فقد أضفنا زرًا يسمح للمسؤولين بإلغاء رمز الوصول الشخصي (PAT) الخاص بالمستخدم إذا رغبوا في ذلك. يمكن للمسؤولين الآن بسهولة إبطال PATs التي من المحتمل أن تكون مخترقة. هذه الميزة مفيدة للمؤسسات التي تحتاج إلى خيارات إنفاذ أكثر مرونة لتقليل الانحرافات عن مستخدميها.
في GitLab 13.4 ، نقدم طريقة جديدة لتخصيص محرر الموقع الثابت. على الرغم من أن ملف التكوين لا يخزن أو يسترد أي إعدادات في هذا الإصدار ، فإننا نضع الأساس للتخصيص المستقبلي لسلوك المحرر. في الإصدارات القادمة سنضيف إلى الملف .gitlab/static-site-editor.yml المعلمات للتثبيت عنوان قاعدة الموقععلى أي يخزن الصور المحملة في المحرر، لتجاوز إعدادات صياغة Markdown وإعدادات المحرر الأخرى.
المادة الأمامية هي طريقة مرنة وملائمة لتحديد متغيرات الصفحة في ملفات البيانات لتتم معالجتها بواسطة منشئ الموقع الثابت. يتم استخدامه عادةً لتعيين عنوان الصفحة أو قالب التخطيط أو المؤلف ، ولكن يمكن استخدامه لتمرير أي نوع من البيانات الوصفية إلى المُنشئ عند تحويل الصفحة إلى HTML. يتم تضمين المقدمة في الجزء العلوي من كل ملف بيانات عادةً بتنسيق YAML أو JSON وتتطلب بنية متسقة ودقيقة. قد يقوم المستخدمون غير المألوفين بقواعد بناء جملة معينة بإدخال ترميز غير صالح عن غير قصد ، والذي قد يتسبب بدوره في حدوث مشكلات في التنسيق أو حتى فشل الإنشاء.
يقوم وضع تحرير WYSIWYG لمحرر الموقع الثابت بالفعل بإزالة المقدمة من المحرر لمنع أخطاء التنسيق هذه. ومع ذلك ، يمنعك هذا من تغيير القيم المخزنة في هذا الجزء دون الرجوع إلى التحرير في وضع المصدر. في GitLab 13.4 ، يمكنك الوصول إلى أي حقل وتحرير قيمته في واجهة مألوفة قائمة على النموذج. عندما تضغط على زر إعدادات (الإعدادات) يفتح لوحة تعرض حقل نموذج لكل مفتاح محدد في البداية. تمتلئ الحقول بالقيمة الحالية ، ولتعديل أي منها ، ما عليك سوى إدخالها في نموذج الويب. يتجنب تحرير المقدمة هذا التعقيد النحوي ويمنحك تحكمًا كاملاً في المحتوى ، مع ضمان تنسيق الإخراج النهائي بشكل متسق.
لمستخدمي Jira على GitLab: تطبيق GitLab لـ Jira и موصل DVCS تسمح لك بعرض معلومات حول التزامات GitLab ودمج الطلبات مباشرة في Jira. إلى جانب تكامل Jira المدمج لدينا ، يمكنك التنقل بسهولة بين التطبيقين أثناء العمل.
كانت هذه الميزات متوفرة في السابق فقط في خطتنا المميزة ، ولكنها الآن متاحة لجميع المستخدمين!
تتيح لك مجموعة Gitaly نسخ مستودعات Git إلى عدة عقد Gitaly الدافئة. هذا يحسن التسامح مع الخطأ من خلال القضاء على نقاط الفشل الفردية. عمليات المعاملات، الذي تم تقديمه في GitLab 13.3 ، يتسبب في بث التغييرات إلى جميع عقد Gitaly في الكتلة ، ولكن فقط عقد Gitaly التي تصوت بالاتفاق مع العقدة الأساسية تحفظ التغييرات على القرص. إذا لم توافق جميع عقد النسخ المتماثلة ، فسيتم حفظ نسخة واحدة فقط من التغيير على القرص ، مما يؤدي إلى إنشاء نقطة فشل واحدة حتى اكتمال النسخ المتماثل غير المتزامن.
يعمل تصويت الأغلبية على تحسين المرونة من خلال طلب موافقة الأغلبية (وليس جميع) العقد قبل حفظ التغييرات على القرص. إذا تم تمكين هذه الميزة القابلة للتحويل ، فيجب أن تنجح الكتابة على عقد متعددة. تتم مزامنة العقد غير المتوافقة تلقائيًا باستخدام النسخ المتماثل غير المتزامن من تلك العقد التي شكلت النصاب القانوني.
غالبًا ما تكون المشروعات التي يكتب فيها الأشخاص تكوينات بتنسيق JSON أو YAML عرضة للمشكلات لأنه من السهل ارتكاب خطأ إملائي وكسر شيء ما. من الممكن كتابة أدوات التحقق من الصحة التي تكتشف هذه المشكلات في خط أنابيب CI ، ولكن استخدام ملف مخطط JSON يمكن أن يكون مفيدًا في توفير الوثائق والتلميحات.
يمكن لأعضاء المشروع تحديد المسار إلى مخطط قاعدة البيانات المخصص في الملف في مستودعهم .gitlab/.gitlab-webide.yml، والذي يحدد المخطط والمسار إلى الملفات المراد فحصها. عندما يتم تحميل ملف معين إلى Web IDE ، ستكون الملاحظات الإضافية والتحقق من الصحة مرئيًا للمساعدة في إنشاء الملف.
إذا كنت تستخدم خطوط الأنابيب مع رسم بياني لا دوري موجه (الرسم البياني غير الدوري الموجه (DAG)) ، قد تجد أن هناك حدًا لعشر وظائف يمكن أن تحدد الوظيفة فيها needs:، قاسي جدا. في 13.4 ، تمت زيادة الحد الافتراضي من 10 إلى 50 للسماح بشبكات أكثر تعقيدًا من العلاقات بين الوظائف في خطوط الأنابيب الخاصة بك.
إذا كنت المسؤول عن مثيل GitLab المخصص ، فيمكنك رفع هذا الحد إلى أعلى من خلال إعداد ميزة قابلة للتحويل ، على الرغم من أننا لا نقدم دعمًا رسميًا لذلك.
في بعض الحالات ، يمكن اعتبار المهمة التي تم تخطيها في خط الأنابيب عن طريق الخطأ ناجحة للتبعيات المدرجة في needs، مما يتسبب في تشغيل وظائف لاحقة عندما لا ينبغي. تم إصلاح هذا السلوك في الإصدار 13.4 و needs الآن يعالج بشكل صحيح حالات المهام التي تم تخطيها.
يقوم GitLab الآن تلقائيًا بتأمين آخر قطعة أثرية لوظيفة ناجحة وخط أنابيب على أي فرع نشط أو طلب دمج أو علامة لمنع حذفه بعد انتهاء صلاحيته. أصبح من الأسهل وضع قواعد انتهاء صلاحية أكثر صرامة لتنظيف القطع الأثرية القديمة. يساعد ذلك في تقليل استهلاك مساحة القرص ويضمن أن لديك دائمًا نسخة من أحدث القطع الأثرية من خط الأنابيب.
يمكن أن يؤدي تحسين خط أنابيب CI / CD إلى تحسين سرعة التسليم وتوفير المال. لقد قمنا بتحسين وثائقنا بدليل سريع لتحقيق أقصى استفادة من تحسين خطوط الأنابيب الخاصة بك.
تقرير اختبار الوحدة طريقة سهلة لمشاهدة نتائج جميع الاختبارات في خط الأنابيب. ومع ذلك ، مع وجود عدد كبير من الاختبارات ، قد يستغرق العثور على الاختبارات الفاشلة وقتًا طويلاً. تتضمن المشكلات الأخرى التي يمكن أن تجعل من الصعب استخدام التقرير صعوبة التمرير عبر إخراج التتبع الطويل وتقريب الوقت إلى الصفر للاختبارات التي يتم تشغيلها في أقل من ثانية واحدة. الآن ، بشكل افتراضي ، يضع تقرير اختبار الفرز أولاً الاختبارات الفاشلة في أعلى التقرير ، ثم يفرز الاختبارات حسب المدة. هذا يجعل من السهل العثور على الأعطال والاختبارات المطولة. بالإضافة إلى ذلك ، يتم الآن عرض فترات الاختبار بالمللي ثانية أو الثواني ، مما يجعلها أسرع في القراءة ، كما تم حل مشكلات التمرير السابقة.
توجد الآن قيود على حجم ملفات الحزمة التي يمكن تحميلها إلى GitLab Package Registry. تمت إضافة قيود لتحسين أداء سجل الحزمة ومنع إساءة الاستخدام. تعتمد القيود على تنسيق الحزمة. بالنسبة إلى GitLab.com ، فإن الحد الأقصى لأحجام الملفات هي:
كونان: 250 ميجابايت
المخضرم: 3 جيجابايت
NPM: 300 ميجابايت
NuGet: 250 ميغا بايت
PyPI: 3 جيجابايت
بالنسبة لمثيلات GitLab المخصصة ، تكون الإعدادات الافتراضية هي نفسها. ومع ذلك ، يمكن للمسؤول تحديث القيود بـ لوحات المفاتيح القضبان.
يمكنك استخدام مستودع GitLab PyPI لإنشاء حزم Python ونشرها ومشاركتها جنبًا إلى جنب مع التعليمات البرمجية المصدر وخطوط أنابيب CI / CD. ومع ذلك ، في السابق لم تتمكن من المصادقة مقابل مستودع باستخدام متغير بيئة محدد مسبقًا CI_JOB_TOKEN. نتيجة لذلك ، كان عليك استخدام بيانات الاعتماد الشخصية الخاصة بك لتحديث مستودع PyPI ، أو ربما قررت عدم استخدام المستودع على الإطلاق.
أصبح الآن من الأسهل استخدام GitLab CI / CD لنشر حزم PyPI وتثبيتها باستخدام متغير بيئة محدد مسبقًا CI_JOB_TOKEN.
إلى فحص DAST عند الطلب كان ذلك قدم في الإصدار السابق، تمت إضافة ملفات تعريف الماسح الضوئي DAST. يقومون بتوسيع خيارات التكوين لهذا الفحص من خلال السماح لك بإنشاء ملفات تعريف متعددة بسرعة لتغطية أنواع الفحص المتعددة. في 13.4 ، يتضمن ملف تعريف الزاحف في البداية إعداد مهلة الزاحف الذي يحدد المدة التي يجب أن يعمل بها زاحف DAST عندما يحاول اكتشاف جميع صفحات موقع تم الزحف إليه. يتضمن الملف الشخصي أيضًا إعداد مهلة الموقع المستهدف لتعيين المدة التي يجب أن ينتظرها الزاحف حتى يصبح الموقع متاحًا قبل إحباط الزحف إذا لم يستجب الموقع برمز الحالة 200 أو 300. بينما نقوم بتحسين هذه الميزة مرارًا وتكرارًا في الإصدارات المستقبلية ، ستتم إضافة خيارات تكوين إضافية إلى ملف تعريف الماسح الضوئي.
إذا كنت تستخدم GitLab Pages وترغب في إدارة تغييرات عناوين URL بشكل أفضل ، فربما تكون قد لاحظت أنه لم يكن من الممكن إدارة عمليات إعادة التوجيه على موقع صفحات GitLab الخاص بك. يتيح لك GitLab الآن إعداد قواعد لإعادة توجيه عنوان URL إلى آخر لموقع Pages الخاص بك عن طريق إضافة ملف تكوين إلى المستودع. أصبحت هذه الميزة ممكنة بفضل مساهمات كيفن بارنيت (تضمين التغريدة) ، لدينا إريك ايستوود (تضمين التغريدة) وأوامر GitLab. شكرا لكم جميعا على أرائكم.
يعد الوصول إلى الإصدارات السابقة من حالة Terraform ضروريًا للامتثال والتصحيح حسب الحاجة. تم توفير الدعم لإصدارات حالة Terraform التي يديرها GitLab منذ GitLab 13.4. يتم تمكين تعيين الإصدار تلقائيًا لملفات حالة Terraform الجديدة. ستكون ملفات حالة Terraform الحالية تلقائيًا إلى مستودع ذي إصدار في إصدار لاحق.
عند التعامل مع الحوادث ، يجب أن تكون قادرًا على تحديد المدة التي ظل فيها التنبيه مفتوحًا وعدد مرات إطلاق الحدث بسهولة. غالبًا ما تكون هذه التفاصيل مهمة في تحديد تأثير العميل وما يجب أن يفعله فريقك أولاً. في لوحة تفاصيل الحادث الجديدة ، نعرض وقت بدء التنبيه وعدد الأحداث ورابط للتنبيه الأصلي. هذه المعلومات متاحة للحوادث التي تم إنشاؤها من التنبيهات.
يسمح بُعد شدة الحادث للمستجيبين وأصحاب المصلحة بتحديد تأثير الانقطاع ، فضلاً عن أساليب الاستجابة وضرورة إلحاحها. نظرًا لأن فريقك يشارك النتائج أثناء حل الحوادث والتعافي ، فقد يقوموا بتغيير هذا الإعداد. يمكنك الآن تعديل درجة خطورة الحادث في الشريط الجانبي الأيمن من صفحة تفاصيل الحادث ، ويتم عرض الخطورة في قائمة الحوادث.
يتيح هذا التحسين لمحرر قواعد أمان شبكة الحاويات للمستخدمين إنشاء قواعدهم الخاصة وتعديلها وحذفها بسهولة من واجهة مستخدم GitLab. تتضمن ميزات المحرر الوضع .yaml للمستخدمين المتقدمين ومحرر القواعد بواجهة بديهية لأولئك الجدد في قواعد الشبكة. يمكنك العثور على ميزات إدارة القواعد الجديدة في القسم الأمان والامتثال> إدارة التهديدات> القواعد (الأمان والامتثال> إدارة التهديدات> السياسات).
تدعم مثيلات GitLab Azure لجميع أنواع تخزين الكائنات ، بما في ذلك ملفات LFS وعناصر CI و النسخ الاحتياطية. لإعداد تخزين Azure blob ، اتبع إرشادات التثبيت الجامع أو مخطط الدفة.
استجابة للطلب المتزايد على دعم تشغيل GitLab لبنية ARM 64 بت ، يسعدنا أن نعلن عن توفر حزمة ARM64 Ubuntu 20.04 Omnibus الرسمية. شكراً جزيلاً لـ Zitai Chen و Guillaume Gardet على المساهمة الضخمة التي قدموها - كانت طلبات الدمج الخاصة بهم جزءًا أساسيًا من هذا!
لتنزيل حزمة Ubuntu 20.04 وتثبيتها ، انتقل إلى صفحة التثبيت وحدد Ubuntu.
يمكن الآن استخدام البطاقات الذكية ، مثل بطاقات الوصول المشتركة (CACs) ، للمصادقة على مثيل GitLab الذي تم نشره عبر مخطط Helm. تتم مصادقة البطاقات الذكية على قاعدة بيانات محلية باستخدام شهادات X.509. مع هذا ، يتماشى دعم البطاقة الذكية مع مخطط Helm الآن مع دعم البطاقة الذكية المتاح في عمليات نشر Omnibus.