انتشار PVS-Studio 7.04 با انتشار افزونه Warnings Next Generation 6.0.0 برای Jenkins همزمان شد. فقط در این نسخه، افزونه Warnings NG پشتیبانی از تحلیلگر استاتیک PVS-Studio را اضافه کرد. این افزونه داده های هشدار را از کامپایلر یا سایر ابزارهای تجزیه و تحلیل در جنکینز به تصویر می کشد. در این مقاله نحوه نصب و پیکربندی این افزونه برای استفاده با PVS-Studio به تفصیل شرح داده می شود و همچنین بیشتر قابلیت های آن شرح داده می شود.
نصب پلاگین Warning Generation Next در Jenkins
به طور پیش فرض جنکینز در واقع شده است
بعد، مورد "Manage Plugins" را انتخاب کنید، تب "Available" را باز کنید:
در گوشه سمت راست بالا در قسمت فیلتر، "هشدارهای نسل بعدی" را وارد کنید:
افزونه را در لیست پیدا کنید، کادر سمت چپ را علامت بزنید و روی "نصب بدون راه اندازی مجدد" کلیک کنید:
صفحه نصب افزونه باز خواهد شد. در اینجا نتایج نصب افزونه را خواهیم دید:
ایجاد یک کار جدید در جنکینز
حالا بیایید یک کار با یک پیکربندی رایگان ایجاد کنیم. در صفحه اصلی جنکینز، "مورد جدید" را انتخاب کنید. نام پروژه (به عنوان مثال، WTM) را وارد کنید و مورد "پروژه سبک آزاد" را انتخاب کنید.
روی "Ok" کلیک کنید، پس از آن صفحه تنظیم کار باز می شود. در پایین این صفحه، در آیتم “Post-build Actions”، لیست “Add post-build action” را باز کنید. در لیست، «ضبط هشدارهای کامپایلر و نتایج تحلیل استاتیک» را انتخاب کنید:
در لیست کشویی فیلد «ابزار»، «PVS-Studio» را انتخاب کنید، سپس روی دکمه ذخیره کلیک کنید. در صفحه کار، روی «اکنون بسازید» کلیک کنید تا یک پوشه در فضای کاری در Jenkins برای کار خود ایجاد کنید:
دریافت نتایج ساخت پروژه
امروز با پروژه dotnetcore/WTM در گرایش های Github مواجه شدم. من آن را از Github دانلود کردم، آن را در فهرست ساخت WTM در Jenkins قرار دادم و آن را در ویژوال استودیو با استفاده از تحلیلگر PVS-Studio آنالیز کردم. شرح مفصلی از استفاده از PVS-Studio در ویژوال استودیو در مقاله ای با همین نام ارائه شده است:
من پروژه بیلد را چند بار در جنکینز اجرا کردم. در نتیجه، یک نمودار در سمت راست بالای صفحه کار WTM در جنکینز ظاهر شد و یک آیتم منو در سمت چپ ظاهر شد. هشدارهای PVS-Studio:
وقتی روی نمودار یا این آیتم منو کلیک می کنید، صفحه ای با تجسم گزارش تحلیلگر PVS-Studio با استفاده از افزونه Warnings Next Generation باز می شود:
صفحه نتایج
دو نمودار دایره ای در بالای صفحه وجود دارد. در سمت راست نمودارها پنجره نمودار قرار دارد. در زیر یک جدول است.
نمودار دایره ای سمت چپ نسبت هشدارهای سطوح مختلف شدت را نشان می دهد، سمت راست نسبت هشدارهای جدید، اصلاح نشده و تصحیح شده را نشان می دهد. سه نمودار وجود دارد. نمودار نمایش داده شده با استفاده از فلش های سمت چپ و راست انتخاب می شود. دو نمودار اول اطلاعات مشابه نمودارها را نشان می دهد و نمودار سوم تغییر در تعداد هشدارها را نشان می دهد.
می توانید مجموعه ها یا روزها را به عنوان نقاط نمودار انتخاب کنید.
همچنین می توان محدوده زمانی نمودار را محدود و گسترش داد تا داده ها را برای یک دوره معین مشاهده کرد:
میتوانید نمودارهای معیارهای خاص را با کلیک بر روی تعیین متریک در افسانه نمودار پنهان کنید:
نمودار پس از پنهان کردن معیار "Normal":
در زیر جدولی وجود دارد که داده های گزارش تحلیلگر را نشان می دهد. وقتی روی یک بخش از نمودار دایره ای کلیک می کنید، جدول فیلتر می شود:
جدول دارای چندین برگه برای فیلتر کردن داده ها است. در این مثال، فیلتر بر اساس فضای نام، فایل، دسته (نام هشدار) در دسترس است. در جدول می توانید انتخاب کنید که چه تعداد هشدار در یک صفحه نمایش داده شود (10، 25، 50، 100):
فیلتر کردن داده ها با رشته وارد شده در قسمت "جستجو" امکان پذیر است. نمونه ای از فیلتر کردن با کلمه "Base":
در تب "مسائل"، وقتی روی علامت مثبت در ابتدای ردیف جدول کلیک می کنید، توضیح مختصری از هشدار نمایش داده می شود:
توضیحات مختصر حاوی پیوندی به یک وب سایت با اطلاعات دقیق در مورد این هشدار است.
هنگامی که بر روی مقادیر موجود در ستون های "بسته"، "رده"، "نوع"، "شدت" کلیک می کنید، داده های جدول با مقدار انتخاب شده فیلتر می شوند. فیلتر بر اساس دسته بندی:
ستون "سن" نشان می دهد که چه تعداد از ساخت ها از این هشدار جان سالم به در برده اند. با کلیک بر روی مقدار در ستون Age صفحه ساختی که برای اولین بار این هشدار ظاهر شد باز می شود.
با کلیک بر روی یک مقدار در ستون "File"، کد منبع فایل در خط با کدی که باعث هشدار شده است باز می شود. اگر فایل در دایرکتوری ساخت نباشد یا پس از ایجاد گزارش منتقل شده باشد، باز کردن کد منبع فایل امکان پذیر نخواهد بود.
نتیجه
Warnings Next Generation یک ابزار تجسم داده بسیار مفید در جنکینز بود. امیدواریم پشتیبانی از PVS-Studio توسط این افزونه به کسانی که قبلاً از PVS-Studio استفاده می کنند کمک زیادی کند و همچنین توجه سایر کاربران Jenkins را به تجزیه و تحلیل استاتیک جلب کند. و اگر انتخاب شما روی PVS-Studio به عنوان یک آنالایزر استاتیک باشد، بسیار خوشحال خواهیم شد. ما شما را دعوت میکنیم
اگر می خواهید این مقاله را با مخاطبان انگلیسی زبان به اشتراک بگذارید، لطفاً از پیوند ترجمه استفاده کنید: والری کوماروف.
منبع: www.habr.com