תיעוד

הגדרות מאגר וענפים

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

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

ניתן למצוא אותן תחת הגדרות הפרויקט.

מסונכרן או רק מקומי

מצב המאגר קובע האם Coroid מורשה לבצע כתיבה ב־GitHub או ב־GitLab.

  • מסונכרן (הברירת מחדל): Coroid דוחף את ענף המשימה ופותח בקשות איחוד מול הענף הבסיסי שלך.
  • רק מקומי: Coroid מבצע קלון ושליפה מהמאגר אך אינו כותב אליו לעולם. אין דחיפות, אין ענפים מרוחקים, אין בקשות איחוד, תגובות, ביקורות, ריצות בדיקה או Webhookים, אין מיזוגים ואין ריצות פייפליין. הענפים, ה־Commitים, הביקורות, ה־QA והתצוגות המקדימות מתרחשים כולם בתוך Coroid.

מסונכרן

CoroidGitHub
  • מושך נתונים מ־GitHub
  • דוחף ענפים ופותח בקשות משיכה

מקומי בלבד

CoroidGitHub
  • מושך נתונים מ־GitHub
  • לא דוחף, לא משאיר תגובות ולא פותח בקשות משיכה
  • אתם מושכים את הענפים שלו מ־git של Coroid עצמו
מצב מקומי בלבד מאפשר לנסות את Coroid על מאגר אמיתי: הוא קורא מ־GitHub ושומר כל ענף, התחייבות ובדיקה בתוך Coroid. התחילו לסנכרן כשתרצו בקשות משיכה.

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

מצב רק מקומי הוא הדרך הבטוחה לנסות את Coroid על מאגר אמיתי. המשימות והתוכניות מגיעות עד לשלב הביקורת. במקום pull request, הביקורת מציגה נשמר בתוך Coroid ופעולה אחת, התחל סינכרון. אישור דורש פרויקט מסונכרן, מכיוון שהאישור מבצע מיזוג לענף הבסיסי שלך; בתוך תוכנית, המשימות עדיין מתאחדות על ענף התוכנית ב־Coroid. עותק ה־Base Branch של Coroid נשאר זהה לזה שברשת, כך ששום דבר אינו מגיע אליו מבלי שפתחת pull request.

כדי לראות את העבודה על המחשב האישי שלך, פתח קלון וייצוא בהגדרות המאגר, צור טוקן גישה וקבל את ענפי Coroid מתוך Git שלו:

git remote add coroid https://coroid@git.coroid.ai/git/<project-id>.git
git fetch coroid

התחל סינכרון משנה את הפרויקט למצב מסונכרן. מעתה ואילך, עבודה חדשה נדחפת ומקבלת בקשות איחוד. העבודה שכבר נשמרה ב־Coroid נשארת במקומה: פתח את ה־pull request שלה מדף הביקורת (יצירת pull request עבור משימה, פתיחת pull request עבור תוכנית). מעבר למצב Local only מתבצע מיד.

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

ענף בסיסי

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

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

כאשר הענף היעד משתנה

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

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

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

ענפי עבודה

כל משימה פועלת על ענף נפרד. הענפים נוצרים עבור כל משימה ונשלחים לשרת כשהעבודה מוכנה (פרויקט מסוג 'local only' שומר אותם ב־Coroid). בצורה זו שתי משימות שפועלות במקביל לעולם לא חולקות ענף ואינן יכולות לראות את העבודה של האחרת באופן חלקי.

שום דבר לעולם אינו נרשם ישירות לענף הבסיסי שלך. זו אינה הגדרה; זו תכונה של האופן שבו Coroid פועל.

ענף אחד לכל משימה. שתי משימות לעולם לא ישתמשו באותו ענף.

הבדיקות והאישורים הנדרשים ממך נשמרים ללא שינוי.

אתה מאחד אל תוך main

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

הגנת ענפים

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

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

ניקוי

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

שינוי החיבור

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

הגדרות צינור שחרור

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