# למה GitHub Actions איטי, ואיך להפסיק לבנות הכול מחדש בכל ג'וב

> GitHub Actions איטי כי כל ג'וב מתחיל על VM ריק, מוריד את הכלים שלו, מתקין מחדש את התלויות ובונה מחדש את אימג'י ה‑Docker לפני הבדיקה הראשונה. Skipbox שומרת את כל זה על המכונה שלכם בין ג'ובים, במחיר קבוע של $39 לחודש עם דקות ללא הגבלה: ב‑20,000 דקות על 4 vCPU זה $183 פחות בחודש מ‑GitHub.

רוב הזמן של ג'וב איטי ב‑GitHub Actions עובר לפני שהבדיקה הראשונה רצה. הגדרת Node, הורדת התלויות, בניית אימג' ה‑Docker: אותן דקות, בכל push, בזמן שמישהו בצוות מחכה לוי ירוק. בחיוב לפי דקה אתם גם משלמים על הדקות האלה.

Skipbox היא ראנר ל‑GitHub Actions ששומר את המכונה שלו בין ג'ובים, כך שמה שג'וב אחד התקין עדיין נמצא על הדיסק לג'וב הבא. משנים שורה אחת, `runs-on: skipbox`, והג'וב רץ על המכונה שלכם במחיר קבוע של $39 לחודש עם דקות ללא הגבלה.

- תלויות, שכבות Docker וכלים נשארים על הדיסק, כך שג'ובים מדלגים על ההורדות והבניות מחדש
- לפחות פי 7 משטח המטמון של GitHub, בלי תפוגה אחרי 7 ימים ובלי מפתחות מטמון לכוונן
- 20,000 דקות בחודש על 4 vCPU: $222 ב‑GitHub, $39 ב‑Skipbox

**GitHub Actions במחיר קבוע, דקות ללא הגבלה** Skipbox מריצה את ג'ובי ה‑GitHub Actions שלכם על מכונה ייעודית משלכם: $39 לחודש, לא משנה כמה דקות תריצו. שכבות Docker ומטמוני תלויות נשמרים בין ג'ובים, כך שהג'וב הבא מתחיל מיד.

ראנר של 4 vCPU, 20,000 דקות בחודש: GitHub $222 → Skipbox $39. אתם חוסכים $183 בכל חודש.

המעבר הוא שורה אחת: `runs-on: skipbox`.

[התחלת 7 ימי ניסיון בחינם](https://app.skipbox.dev/sign-in?ref=g-github-actions-slow-he)

## כל ג'וב מתחיל מ‑VM ריק

ראנר שמתארח ב‑GitHub הוא מכונה וירטואלית חדשה לכל ג'וב. שום דבר שהג'וב הקודם הוריד או בנה לא נמצא עליה, כך שכל ג'וב בונה מחדש את אותו מצב:

| שלב | ראנר שמתארח ב‑GitHub | Skipbox |
|---|---|---|
| הגדרת Node, Python, Java | מוריד את סביבת הכלים | מוצא אותה במטמון הכלים מהג'וב הקודם |
| התקנת תלויות | מוריד ופורס את ארכיון המטמון; כשאין פגיעה, את כל ההורדה מה‑registry | קורא את המטמון של מנהל החבילות מהדיסק |
| בניית אימג' ה‑Docker | מתחיל בלי שכבות ובונה מחדש כל שלב | משתמש שוב בשכבות של הבנייה הקודמת |
| הרצת הבדיקות | 2 מעבדים ב‑`ubuntu-latest` של מאגר פרטי | 4 vCPU ומעלה |

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

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

## כמה ההמתנה עולה לכם

נניח שההכנה לוקחת 3 דקות מכל ג'וב והצוות שלכם מריץ 100 ג'ובים ביום. זה 300 דקות ביום של זמן ראנר שהולך על החזרת המכונה למצבה, וכל pull request מחכה לחלק שלו. סקירות קוד מתחילות מאוחר יותר, מיזוגים נכנסים מאוחר יותר, ומהנדסים עוברים למשהו אחר בזמן שהם מחכים.

בחיוב לפי דקה, הדקות האלה מופיעות בחשבונית. ראנר של 4 vCPU, לפי דקות בחודש:

| דקות בחודש (4 vCPU) | GitHub | Skipbox S | החיסכון שלכם בכל חודש |
|---|---|---|---|
| 10,000 | $102 | $39 | **$63** |
| 20,000 | $222 | $39 | **$183** |
| 30,000 | $342 | $39 | **$303** |

הסכומים של GitHub הם החשבון אחרי השימוש הכלול ב‑GitHub Team. הכניסו את הדקות שלכם ב[מחשבון בדף הבית](https://skipbox.dev/?ref=g-github-actions-slow-he#cost); לא צריך להתחבר.

ומספר ההרצות רק עולה:

- **סוכני קוד מבוססי AI.** כל push של סוכן מפעיל CI. ההמתנה והחשבון גדלים עם מספר ה‑pushes, לא עם מספר העובדים.
- **יותר בדיקות.** סט בדיקות E2E או matrix חוזרים על ההכנה בכל ג'וב שהם מוסיפים.
- **תקציבים.** הגבילו את החשבון בתקציב של GitHub, וג'ובים מפסיקים להתחיל באמצע החודש, מה שעוצר מיזוגים.

## להאיץ את זה בעצמכם זה פרויקט

להישאר על ראנרים שמתארחים ב‑GitHub ולהפוך אותם למהירים פירושו לקחת על עצמכם עבודה כזו:

- לבנות מפתחות מטמון על ה‑hash של קובצי ה‑lock ולכוונן את `restore-keys` עד שיש פגיעות
- להוסיף buildx ולייצא את המטמון של Docker עם `cache-to`, בתוך אותם 10 GB
- לפצל בדיקות ל‑shards, כשכל shard חוזר על ההכנה והדקות המחויבות עולות
- או להפעיל ראנר באירוח עצמי משלכם: הקמה, עדכוני מערכת הפעלה, ניקוי בין ג'ובים ותיקון כשהוא נופל

כל אחד מהם עוקף מכונה ששוכחת הכול. Skipbox שומרת את המכונה, כך ששום דבר מזה לא נדרש.

## מה משתנה ב‑Skipbox

**ההכנה נשארת על הדיסק.** הג'ובים שלכם רצים על המכונה של החשבון שלכם, והיא נשארת בין ג'ובים. אימג'ים, שכבות ומטמון build של Docker; מטמוני חבילות של npm, pip, Gradle ועוד; הכלים ש‑`setup-node` וחברותיה מתקינות. לפחות פי 7 משטח המטמון של GitHub, בלי תפוגה אחרי 7 ימים ובלי כלל של ענפים.

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

| מסלול | מכונה | מחיר |
|---|---|---|
| S | 4 vCPU · 16 GB | $39 לחודש |
| M | 8 vCPU · 16 GB | $79 לחודש |
| L | 16 vCPU · 32 GB | $149 לחודש |

בכל המסלולים הדקות ללא הגבלה. ג'ובים ב‑Skipbox לא מנצלים דקות של GitHub, כך שתקציב של GitHub אף פעם לא עוצר אותם.

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

## המעבר הוא שורה אחת

```yaml
jobs:
  build:
    runs-on: skipbox # was ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npm ci && npm test
```

1. התחברו ל‑Skipbox עם GitHub.
2. התקינו את אפליקציית Skipbox ל‑GitHub ובחרו את המאגרים.
3. שנו את `runs-on` ובצעו push.

מה שהג'וב הראשון מתקין נמצא על הדיסק בשביל השני.

## אבטחה

- המכונה שייכת לחשבון שלכם בלבד. ג'ובים של חברה אחרת לא רצים עליה.
- אחרי כל ג'וב נמחקים פרטי הגישה, התהליכים והקונטיינרים של הראנר. החל מ‑13 בנובמבר 2026, ה‑checkout ופלט ה‑build שלו (`target/` של Cargo) נשארים על המכונה שלכם לג'ובים הבאים; "VM חדש לכל ג'וב" נותן לכל ג'וב מכונה חדשה.
- קוד של אנשים בלי הרשאת כתיבה (כמו pull requests מ‑forks) רץ על מכונה חדשה וחד-פעמית.

הפרטים נמצאים ב[איך הג'ובים מבודדים](https://docs.skipbox.dev/isolation).

## נסו על הג'וב האיטי ביותר שלכם

תקופת הניסיון בחינם נמשכת 7 ימים או 3,000 דקות של ג'ובים, המוקדם מביניהם, ולא דורשת כרטיס. העבירו את הג'וב האיטי ביותר שלכם ל‑`runs-on: skipbox`, הריצו אותו פעמיים ברצף, ושימו את זמני ה‑steps לצד אלה של GitHub.

## שאלות נפוצות

### למה GitHub Actions כל כך איטי?

כל ג'וב בראנר שמתארח ב‑GitHub מתחיל על VM חדש בלי שום דבר מההרצה הקודמת, ולכן הוא מוריד את הכלים שלו, מתקין מחדש את התלויות ובונה מחדש את אימג'י ה‑Docker לפני שהבדיקות שלכם מתחילות. Skipbox מריצה את הג'ובים שלכם על המכונה של החשבון שלכם ושומרת את המצב הזה על הדיסק שלה, כך שהג'וב הבא מתחיל מאיפה שהקודם עצר.

### הוספתי actions/cache. למה זרימת העבודה עדיין איטית?

גם פגיעה במטמון מורידה ופורסת ארכיון בכל ג'וב, כי ה‑VM חדש בכל פעם. והמטמון של GitHub מחזיק 10 GB לכל מאגר, מוחק רשומות שלא נעשה בהן שימוש 7 ימים, ואי אפשר לקרוא אותו מענף מקביל. ב‑Skipbox מטמוני החבילות ושכבות ה‑Docker כבר נמצאים על הדיסק של המכונה, בלי מפתחות לנהל.

### איך מאיצים בניות Docker ב‑GitHub Actions?

נותנים לבנייה את השכבות של הבנייה הקודמת. בראנרים שמתארחים ב‑GitHub זה אומר לייצא את המטמון עם buildx ולייבא אותו בכל הרצה, בתוך אותה מגבלה של 10 GB. ב‑Skipbox, האימג'ים ומטמון ה‑build של Docker נשארים על המכונה בין ג'ובים, כך ש‑docker build משתמש שוב בשכבות מעצמו.

### צריך לשכתב את זרימות העבודה כדי להשתמש ב‑Skipbox?

לא. בג'ובי Linux, שנו את runs-on ל‑skipbox. המכונה מריצה Ubuntu 24.04 עם Docker, Node.js ו‑Python, וה‑steps וה‑actions שלכם רצים כמו שהם.

### אפשר לנסות בחינם על הג'וב האיטי שלי?

כן. תקופת הניסיון היא 7 ימים או 3,000 דקות של ג'ובים, המוקדם מביניהם, בלי כרטיס. העבירו את הג'וב האיטי ביותר שלכם ל‑runs-on: skipbox, הריצו אותו פעמיים ברצף, והשוו את זמני ה‑steps לאלה של GitHub.

עודכן ב‑2026-11-11 · https://skipbox.dev/he/guides/github-actions-slow
