תיעוד

כיצד משימה הופכת ל-pull request

הנתיב המלא מתיאור העבודה ועד ל־pull request שעבר סקירה, יחד עם שמות כל השלבים בדרך.

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

הנתיב

  1. 1מפרט

    מה ייבנה וכיצד תדעו שזה עובד

    אדריכלאתם יכולים לערוך
  2. 2תכנון

    צעדים מסודרים, נבדקים לפני כתיבת קוד

    אדריכלאתם מאשרים
  3. 3בנייה

    קוד ובדיקות נכתבים בסביבת עבודה מבודדת

    מפתח
  4. 4אימות

    סט הבדיקות שלכם, יחד עם בדיקות ושערי איכות

    בדיקות
  5. 5סקירה

    ביקורת אוטומטית על ה־diff

    בודק
  6. 6בקשת משיכה

    על ענף במאגר שלכם, ממתין לכם

    אתם ממזגים

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

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

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

מפרט

Coroid אינו מתחיל מתיאורך המילולי. תחילה הוא הופך את התיאור שלך למפרט מפרט: מה ייבנה, מה נמצא באופן מפורש מחוץ להיקף העבודה, וקריטריוני הקבלה שיקבעו אם העבודה צלחה.

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

ניתן לקרוא ולערוך את המפרט בכרטיסייה מפרט לפני תחילת הביצוע.

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

תכנן

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

דחיית תכנית היא פעולה זולה ונכונה כאשר הגישה שגויה. דחייה לאחר כתיבת הקוד היא יקרה. זהו השלב שבו שיקול הדעת שלך משפיע הכי הרבה.

בנה

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

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

אמת

חבילת הבדיקות שלך פועלת תחילה – זהו האות החזק ביותר הזמין, מכיוון שהיא מקודדת את מה שצוותך כבר קבע כחשוב.

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

סקירה

סוכן הסקירה קורא את ה־diff באופן דומה לקריאה של עמית, ומפיק ממצאים. ממצאים שניתן לתקן נשלחים חזרה לתיקון; השאר מצורפים ל־pull request כדי שתוכלו לראותם.

לכן Coroid pull request מגיע כבר לאחר סקירה – לא כדי להחליף את הסקירה שלכם, אלא כדי שהסקירה שלכם לא תהיה הראשונה.

בקשת משיכה

הענף נדחף ו־pull request נפתח מול הענף הבסיסי שלכם, תוך שהוא מכיל את השינוי, הבדיקות, תוצאות האימות וממצאי הביקורת. אם הקוד כבר ממלא את דרישות המשימה, אין צורך לדחוף דבר: ה‑QA מאמת את הקוד שאינו משתנה, והמשימה מסתיימת ללא pull request.

כאן מסתיימת אוטומציית המשימות של Coroid. מיזוג הקוד נתון לשיקול דעתכם.

לאחר המיזוג

פתחו גרסאות כדי להכין את ה־commit המדויק שאתם מתכוונים לשלוח לשוק. גרסה יכולה לכלול מספר בקשות משיכה שכבר מוזגו, קונפיגורציה ישירה או עבודה שמוזגה מחוץ ל־Coroid. שער הגרסה והאישורים חלים על אותו commit ועל סביבה ספציפית. צינור הייצור שלכם מפריס אותו; Coroid רושם הצלחה שנצפתה או אישור מפורש לפני שמציג אותו כשלוח. COMPLETED משימה שסומנה כ״פעיל״ או pull request שכבר מוזג לא מעידים בהכרח על פריסה מוצלחת.

סטטוסי משימות

סטטוס המשימה מציין באיזה שלב היא נמצאת בתהליך הנ״ל:

מצבמשמעות
PENDINGמתקבל, ממתין למקום פנוי אצל סוכן
IN_PROGRESSנמצא בעיבוד פעיל
PENDING_REVIEWהעבודה הושלמה ונסקרה, ממתינה למיזוג או לאישור
COMPLETEDהעבודה של המשימה הסתיימה; הפריסה נעקבת בנפרד
NEEDS_HUMAN_REVIEWCoroid אינו יכול להמשיך לבדו ודורש מכם תשובה.
PAUSEDנעצר זמנית, ניתן להמשיך
FAILEDהביצוע לא הצליח להסתיים
CANCELLEDנעצר על ידכם
WONT_FIXנסגר במתכוון מבלי לבצע את העבודה

מה קובע את קצב העיבוד?

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

הבא

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