תיעוד

כאשר משימה נתקעת או נכשלת

קריאת כשל ובחירה בין ניסיון חוזר, תיקון, הפסקה לבין ביטול.

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

ראשית, קראו היכן התהליך נעצר.

הריצה מציגה באיזה שלב התרחש הכשל. עובדה זו לבדה מצמצמת את הסיבה יותר מכל דבר אחר:

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

כשלים לפני כתיבת השינוי נובעים מתצורה. ראו תצורת build ובדיקה..

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

התהליך אינו תקוע, הוא נמצא בתור.

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

המערכת שואלת אתכם משהו.

NEEDS_HUMAN_REVIEW משמעותו שהמשימה נתקלה בהחלטה שרק אתם יכולים לקבל. זה אינו כשל. ענו על השאלה והיא תמשיך מהנקודה שבה נעצרה.

ענו בדיוק. תשובה עמומה תגרום לניחוש נוסף ולעצירה נוספת.

התהליך פועל זמן רב מהצפוי.

שתי סיבות נפוצות:

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

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

בחירת הפעולה הנדרשת.

לפי סדר עלות עולה:

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

    לשאלה. שומר על כל ההקשר.

  2. עיבוד מחדש

    נכון אך לא שלם. חוזר עם ממצאיכם.

  3. השהיה

    אתם צריכים לבדוק משהו. התור משוחרר.

  4. ניסיון חוזר

    רק לכישלונות זמניים באמת.

  5. ביטול וקביעת מפרט מחדש

    הגישה או ההיקף היו שגויים.

הזול ביותרהיקר ביותר
בחרו באפשרות הזולה ביותר שפותרת את הבעיה. ניסיון חוזר ללא שינויים יעזור רק כשהכישלון היה זמני.

כשלים החוזרים על עצמם במשימות שונות.

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

הגרסה נחסמת לאחר סיום המשימה

משימה שהושלמה פירושה שעבודתה הגיעה לשלב הסקירה; הדבר אינו מעיד על ה־commit של הגרסה הנבחרת או על הפריסה. בדף ה־ גרסה בחרו את הסביבה ועיינו בחסמי האישורים. בצעו הערכה מחודשת לאחר השלמת רשימת הבדיקות או כאשר תהליך Quality Graph מסתיים. שינוי ב־SHA, בהיקף או במדיניות גורם לכך שהאישורים והחסמים הקודמים יהיו לא רלוונטיים. אם הפריסה כבר מתבצעת או שתוצאותיה אינן ברורות, בדקו את פעולת הספק לפני בקשה לפריסה נוספת.