תיעוד

שערי איכות

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

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

חוסמים ומייעצים

כל שער הוא אחד משניהם, וההבחנה הזו היא מרכז העיצוב:

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

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

מה יכולים שערים לבדוק

שערים נמצאים מעל שלב האימות ויכולים לכסות:

  • מעבר של חבילת הבדיקות הפנימית שלכם
  • סף כיסוי קוד
  • בדיקות linting וניתוח סטטי
  • סריקת אבטחה
  • בדיקות דפדפן על תצוגה מקדימה פועלת
  • ראיות מספקים חיצוניים המצורפות ל-pull request

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

היכן ששער יכול לעצור עבודה

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

סדר זה מכוון בכוונה: זול יותר לכשל בתוך התהליך מאשר לכשל מול עיניכם.

מדיניות

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

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

ביטולים

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

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

מה ששערים אינם עושים

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

שינוי יכול לעבור כל שער ועדיין להיות שינוי לא נכון.