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

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

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

מה זה scargo?

Scargo הוא כלי בקוד פתוח שיצרנו based על Rust Cargo מנהל מחזור חיים של חבילות ופיתוח תוכנה. כדי להסביר בצורה הטובה ביותר את הפונקציונליות והיתרונות שלו, עלינו לספר לכם תחילה עוד על Cargo.

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

כדי לבנות את scargo, השתמשנו בממשק של Cargo כבסיס, מכיוון שהוא מוגדר היטב והמשתמשים כבר מכירים אותו, אך התאמנו אותו ל-C++. יתרה מכך, הרחבנו את הפונקציונליות שלו לניהול סביבת הפיתוח CI/CD. זה אפשר לנו להפוך לאוטומטי את מה שנאלצנו קודם לכן לטפל בו באופן ידני.

Scargo מאפשר לך:

  • יצירת פרויקט חדש (בינארי או ספרייה)
  • בניית הפרויקט
  • הרצת מנתחי קוד סטטיים
  • לתקן את הבעיה הנבחרת באופן אוטומטי בהתבסס על ניתוח הבודק
  • הרצת בדיקות יחידה
  • יצירת תיעוד מקוד המקור
  • עבדו עם סביבת docker המוגדרת מראש בהתאם לארכיטקטורה הנבחרת
  • נפה את התוכנה,
  • ועוד …

היתרונות של scargo – מנהל מחזור החיים של חבילות ופיתוח תוכנה עבור פרויקטים ב-C++ ובמערכות משובצות.

Scargo עוזר לנו לתקנן את העבודה שלנו. הוא מאפשר לנו לבנות ולנהל ספריות רכיבים ולהפיץ את סביבת הפיתוח בין פרויקטים שונים (הסביבה מאוחדת באמצעות דוקריזציה), כמו גם לשמור על עקביות התיעוד. מערכת העבודה זהה עבור כל המפתחים הודות לכלי אחד, שמנהל את הפקודות ומכתיב זרימת תהליך מסוימת, ומבטיח ש�code באיכות גבוהה נשמר בכל פרויקט ופרויקט.

Scargo אידיאלי עבור פרויקטים ב-C++ ובמערכות משובצות המשתמשים במיקרו-בקרים ESP32 ו-STM32, מכיוון שהוא מאפשר צריבה חיצונית, בדיקות ודיבוג. ניתן לשלב אותו עם חומרה ספציפית והוא מופץ ברישיון MIT, כך שניתן לספק אותו יחד עם החומרה, להבטיח סביבת פיתוח אחידה לאורך כל הפרויקט, קוד באיכות גבוהה ועבודה יעילה יותר של המפתחים.

מבחינת ניהול פרויקטים, scargo מקל על קליטת מפתחים חדשים ומאיץ את הקמת הפרויקט, מה שמפחית משמעותית עלויות וחוסך זמן.

בעתיד, נסמיך את scargo כך שיתאים לדרישות הרגולציה הרפואית והרכבית באיחוד האירופי ובארה"ב.

נסו את scargo

את כל המידע על אופן העבודה עם scargo ניתן למצוא באתר הרשמי דף GitHub. ניתן להוריד אותו כאן.  

לכל שאלה, ניתן לפנות אלme.