hay-s-YXg0VPwLwnM-unsplash

שיפור איכות ה Deployment בשילוב SonarQube ו-Cypress

בנוף הטכנולוגי המתפתח של היום והכולל שינויים רבים ותכופים, בדיקות שוטפות מקצה לקצה הן הכרחיות. מתוך הכרה בצורך זה, החלטנו להטמיע בפתרונת התוכנה של לינווייט וב אפליקצית מבוססות BlockTree פתרון משולב לפריסת אפליקציה בתוך מחזור חיי הפיתוח על מנת להשיג איכות קוד עקבית ואבטחה לאורך כל חיי האפליקציה.

לאחר ביצוע ניתוח צרכים תוך מיצוי הנסיון שלנו בתחום, צוות ה DevOps המליץ לבנות את הפתרון על בסיס שילוב של שני מוצרי קוד פתוח ידועים: SonarQube ו-Cypress.

SonarQube הוא כלי ניתוח קוד סטטי המתמקד בבדיקות אבטחה של קוד. הוא מתגאה בפלטפורמה בוגרת, מגובה על ידי קהילה תוססת ומציע מהדורה חינם.

Cypress הוא כלי בדיקות מקצה לקצה המאפשר יצירה, ניפוי חזותי והרצה אוטומטית של בדיקות. הוא מסוגל לחקות התנהגויות של לקוחות בדפדפנים שונים, כולל Chrome, Firefox ו- Microsoft Edge.

האינטגרציה עם Gitlab עבור פתרונות ה-CI/CD שלהם וכמערכת אחסון קוד. בהתחשב בכך, ביצענו את האנטגרציה באופן הבא:

ניתוח SonarQube: עבור כל commit לאפליקצייה, SonarQube משתמש בכלי סונר לצורך הבדיקה שלו. הנתונים המנותחים נשלחים לשרת SonarQube. מפתחים יכולים לאחר מכן ליצור קשר עם ממשק המשתמש של שרת SonarQube כדי לתקן בעיות שזוהו. חשוב לציין שהבנייה הבאה של תמונת הדוקר של האפליקציה מותנית בהשלמה מוצלחת של צינור SonarQube הקודם.

בדיקת Cypress: שלב זה מופעל במהלך הפריסה. ברגע שקוד האפליקציה פעיל בסביבות STAGE ו-PRE-PROD, התהליך מתחיל בבדיקות מקצה לקצה. תוצאות בדיקה מוצלחות סוללות את הדרך לפריסה בסביבת PROD.

שילוב SonarQube ו-Cypress הביא לשיפורים משמעותיים ב Deployment של קוד אפליקטיבי.