macduty

מדריך

הפעלת חוות CI של Mac על מחשבי Mac mini ייעודיים

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

עודכן ⁦2026-09-20⁩

Mac mini אחד מטפל בנוחות בבילדים של iOS של צוות אחד. ברגע שיש לכם שלוש אפליקציות, שני בראנצ׳ים שנבנים במקביל ו-release train, אתם צריכים חווה, והמבנה שלה קובע אם ה-CI יישאר מהיר או יהפוך לדבר שכולם מתלוננים עליו.

כך צוותים מפעילים 5 עד 20 מחשבי Mac ייעודיים ב-MacDuty.

התחילו ממספר הבילדים המקבילים, לא ממספר האנשים

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

תמונה גסה שמתאימה לרוב צוותי iOS:

מצבמכונות
אפליקציה אחת, צוות אחד, בילדים של PR1 עד 2
שתיים או שלוש אפליקציות, PR ובילד לילי במקביל3 עד 5
Release train, בדיקות UI על מטריצת מכשירים6 עד 10
סוכנות או צוות פלטפורמה שמשרת מוצרים רבים10 עד 20 ויותר

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

ראנר אחד לכל מכונה, או כמה?

כל Mac mini מריץ בשבילכם את המכונה כולה: בלי hypervisor, בלי שכן רועש. זה נותן לכם שתי תבניות תקפות.

ראנר אחד לכל מכונה

הכי נקי. בילד מקבל את כל ה-CPU, ה-GPU והזיכרון. השתמשו בזה לבילדים של Xcode ולבדיקות UI, שבהם בילד ינצל בשמחה כל ליבה שתיתנו לו.

שניים או שלושה ראנרים לכל מכונה

עובד כשהג׳ובים שלכם קטנים ותלויי I/O: בדיקות יחידה, לינטינג, אריזה. על M4 או M6 עם 32 GB, שני ג׳ובים קלים במקביל רצים בנוחות.

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

חלוקת החווה בין צוותים ופרויקטים

תנו תוויות למכונות שלכם ותנו ל-pipeline לנתב אליהן. החלוקות השימושיות:

לפי פרויקט

ios-app, sdk, internal-tools. כל ריפוזיטורי מכוון לתווית משלו, כך שבילד שבור במוצר אחד אף פעם לא חוסם מוצר אחר.

לפי ייעוד

מכונות pr שמהירות ותמיד חמות, ומכונות release שנמחקות לפני כל בילד חתום.

לפי לקוח

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

הכול בחשבון MacDuty אחד, עם חשבונית אחת בסוף החודש.

שמירה על חווה תקינה

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

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

נעלו את גרסאות הכלים

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

עקבו אחרי התור, לא אחרי ה-CPU

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

החזיקו מכונה אחת רזרבית

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

איך זה בהשוואה לענני Mac עם אורקסטרציה

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

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

אתם מקבלים גם את ההבדל שמורגש ב-2 בלילה לפני ריליס: האנשים שמפעילים את ארונות השרתים עונים למייל.

הקמת חווה

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

במלאי היום

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

בודקים את הארונות

⁦Mac mini⁩ משלכם

בחרו תצורה. אם היא לא זמינה, השאירו אימייל ונכתוב לכם ביום שהיא מותקנת בארון.

שנתי: לפחות ⁦19%⁩ פחות מתשלום חודשי

  • 16GB

    זיכרון מאוחד, ⁦120 GB/s⁩

    ליבות
    10 CPU, 10 GPU
    אחסון
    זמין
    במלאי
  • הנבחר ביותר
    24GB

    זיכרון מאוחד, ⁦120 GB/s⁩

    ליבות
    10 CPU, 10 GPU
    אחסון
    זמין
    במלאי
  • 32GB

    זיכרון מאוחד, ⁦120 GB/s⁩

    ליבות
    10 CPU, 10 GPU
    אחסון
    זמין
    במלאי
Visa Mastercard העברת ⁦SEPA⁩המחירים במטבע ⁦EUR⁩, מע״מ מתווסף בתשלום כשהוא חל. מינימום חודש אחד, ואז אפשר לבטל בכל חודש.

שאלות

אפשר להפעיל כמה מחשבי Mac mini בחשבון MacDuty אחד?
כן. חשבון אחד מחזיק כמה מכונות שתצטרכו, עם חשבונית אחת, עבורכם או עבור כל אחת מהחברות שלכם.
כמה מחשבי Mac mini צריך ל-CI של iOS?
קבעו את הגודל לפי מספר הבילדים המקבילים בשעת השיא, לא לפי גודל הצוות. מכונה אחת עד שתיים לאפליקציה אחת, שלוש עד חמש לכמה אפליקציות שנבנות במקביל, שש עד עשרים ל-release train או לסוכנות.
אפשר להריץ כמה ראנרים של CI על Mac mini אחד?
כן. המכונה כולה שלכם. ראנר אחד לכל מכונה לבילדים כבדים של Xcode; שניים או שלושה לג׳ובים קלים ותלויי I/O על מכונה עם 32 GB.
אפשר לתת לצוותים או ללקוחות שונים מכונות נפרדות?
כן. המכונות מתויגות ומופרדות לפי פרויקט או לפי לקוח, עם פרטי גישה משלהן, תחת חשבון אחד וחשבונית אחת.
האם חוות Mac ייעודית זולה יותר מענן Mac עם אורקסטרציה?
בעומס CI קבוע, כן: מחיר חודשי קבוע לכל מכונה פיזית, בלי חיוב לפי שעה ובלי שכבת אורקסטרציה לשלם עליה.

הבא