עדכונים אוטומטיים של Drupal Core ומודולים עם Composer ו-CI/CD

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

פיתוח ותחזוקה של כל סוגי האתרים:

אתרי מידע או יישומי אינטרנט
אתרי תדמית, דפי נחיתה, אתרי חברה, קטלוגים מקוונים, חידונים, אתרי קידום, בלוגים, מקורות חדשות, פורטלי מידע, פורומים, אגרגטורים
אתרי מסחר אלקטרוני או יישומי אינטרנט
חנויות מקוונות, פורטלי B2B, שווקים, בורסות מקוונות, אתרי קאשבק, בורסות, פלטפורמות דרופשיפינג, מנתחי מוצרים
יישומי אינטרנט לניהול תהליכים עסקיים
מערכות CRM, מערכות ERP, פורטלים ארגוניים, מערכות ניהול ייצור, מנתחי מידע
אתרי שירות אלקטרוני או יישומי אינטרנט
פלטפורמות מודעות, בתי ספר מקוונים, בתי קולנוע מקוונים, בוני אתרים, פורטלים לשירותים אלקטרוניים, פלטפורמות אירוח וידאו, פורטלים נושאיים

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

השירותים שאנו מציעים
מציג 1 מתוך 1כל 2062 השירותים
עדכונים אוטומטיים של Drupal Core ומודולים עם Composer ו-CI/CD
בינוני
~2-3 ימים

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אתר חברה B2B ADVANCE
    פיתוח אתר חברה B2B ADVANCE
    1501
  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1344
  • פיתוח אתר עבור BELFINGROUP
    פיתוח אתר עבור BELFINGROUP
    1052
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1306
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1049
  • פיתוח אתר לחברת FIXPER
    פיתוח אתר לחברת FIXPER
    1033

פריצה לאתר דרך פרצת אבטחה של Drupal היא סיפור נפוץ. לפי הסטטיסטיקות, 80% מההתקפות המוצלחות מנצלות פרצות CVE ידועות שכבר פורסמו עבורן תיקונים. עדכונים שוטפים של הליבה והמודולים הם הדרך היחידה להגן על עצמך. לפי Drupal.org, יותר מ-90% מהפרצות נסגרות על ידי עדכוני אבטחה. אנו עוזרים ללקוחות לבצע תהליך זה בבטחה וללא הפתעות. למהנדסים שלנו יש ניסיון של 7+ שנים עם Drupal 7/8/9/10 והם מבטיחים החזרה למצב קודם בכל נקודה.

Drupal משתמש ב-Composer לניהול תלויות — עדכוני הליבה והמודולים עוברים דרכו. ללא Composer (התקנה ידנית), יש לעבור להגדרה מבוססת Composer, אחרת כל עדכון הופך לפעולה ידנית. אנו מעבירים פרויקטים ל-Composer ומגדירים CI/CD לעדכונים אוטומטיים. זה מקצר את זמן העדכון פי 3 בהשוואה לעבודה ידנית.

אילו בעיות אנו פותרים?

מודולים מיושנים והתלויות שלהם

באמצעות composer outdated "drupal/*" ו-drush pm:security, אנו מזהים מודולים הדורשים עדכון. לעיתים קרובות למודולים יש תלויות הדדיות, ועדכון אחד יכול לגרור שרשרת. אנו מנתחים את גרף התלויות ומעדכנים הכל בפקודת composer update "drupal/*" --with-all-dependencies אחת כדי למנוע התנגשויות.

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

בעת שדרוג מ-Drupal 9 ל-10, מודולים רבים של קהילה עשויים להיות לא תואמים. אנו משתמשים ב-Upgrade Status לניתוח מקדים וב-Rector לתיקון אוטומטי של קוד מותאם אישית. אם למודול אין חלופה, אנו מתאימים אותו לגרסה החדשה.

אובדן נתונים עקב היעדר גיבוי

הטעות הגדולה ביותר היא דילוג על גיבוי. אנו תמיד יוצרים גיבוי מלא של מסד הנתונים וארכיון קבצים: drush sql:dump --result-file=/backups/drupal-$(date +%Y%m%d).sql --gzip וגיבוי קבצים. אנו בודקים על עותק כדי למנוע השבתה בייצור.

מקרה בוחן: עבור אתר מסחר אלקטרוני על Drupal 9, הגדרנו CI/CD ב-GitLab CI. ה-pipeline יצר אוטומטית גיבוי, עדכן את הליבה והמודולים, הריץ בדיקות Nightwatch, והחיל שינויים על סביבת staging. כתוצאה מכך, זמן העדכון הידני ירד מ-4 שעות ל-30 דקות, וסיכון השגיאות ירד ב-80%.

תהליך עדכון Drupal

עדכון הליבה והמודולים של Drupal מורכב מ-6 שלבים רצופים:

  1. יצירת גיבוי של מסד הנתונים וקבצי האתר.
  2. בדיקת עדכונים זמינים דרך composer outdated ו-drush pm:security.
  3. עדכון הליבה וכל המודולים של הקהילה.
  4. החלת עדכוני סכמת מסד נתונים דרך drush updatedb.
  5. בדיקות בסביבת staging (PHPUnit, Nightwatch).
  6. פריסה לייצור וניטור שגיאות.

הכנה וגיבוי

drush sql:dump --result-file=/backups/drupal-$(date +%Y%m%d).sql --gzip
tar czf /backups/files-$(date +%Y%m%d).tar.gz /var/www/site/web/sites/default/files
drush state:set system.maintenance_mode 1 --input-format=integer
drush cr

בדיקת עדכונים זמינים

composer outdated "drupal/*" drush pm:security 

עדכון הליבה והמודולים

composer update "drupal/*" --with-all-dependencies drush updatedb drush cr 

לעדכונים מרכזיים בנוסף:

composer require drupal/core-recommended:^10 --update-with-all-dependencies
vendor/bin/rector process web/modules/custom

בדיקות

drush state:set system.maintenance_mode 0 --input-format=integer
drush cr
./vendor/bin/phpunit web/modules/custom
drush watchdog:show --severity=Error --count=50

השוואת סוגי עדכונים

סוג עדכון זמן סיכונים כלים
מינורי (10.2 → 10.3) 1-2 שעות נמוכים Composer, drush
מרכזי (9 → 10) 1-3 ימים בינוניים Upgrade Status, Rector
אבטחה 30 דקות מינימליים Composer audit

חשיבות עדכוני אבטחה בזמן

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

איך להימנע מטעויות בעדכון Drupal?

טעות השלכה פתרון
ללא גיבוי אובדן נתונים תמיד ליצור גיבוי לפני עדכון
דילוג על drush sql:dump --result-file=/backups/drupal-$(date +%Y%m%d).sql --gzip tar czf /backups/files-$(date +%Y%m%d).tar.gz /var/www/site/web/sites/default/files drush state:set system.maintenance_mode 1 --input-format=integer drush cr אי-תאימות מסד נתונים תמיד להריץ composer outdated "drupal/*" drush pm:security
התעלמות מתאימות מודולים מסך לבן בדיקה דרך Upgrade Status
דוגמה לעדכון שנכשללקוח אחד ניסה לעדכן מודול ללא גיבוי וקיבל מסך לבן. שחזרנו את האתר תוך שעתיים, אבל עם גיבוי העדכון היה לוקח 15 דקות. פרטים נוספים בתהליך שלנו.

מה כלול בעבודת העדכון

  • גיבוי מלא של מסד הנתונים והקבצים
  • עדכון הליבה לגרסה התואמת העדכנית ביותר
  • עדכון כל המודולים של הקהילה
  • בדיקת תאימות קוד מותאם אישית (להעברות מרכזיות)
  • בדיקות על עותק של האתר
  • תיעוד עם תיאור השינויים
  • הגדרת CI/CD לעדכונים אוטומטיים (GitHub Actions, GitLab CI)

לוחות זמנים ועלות

עדכון מתוכנן של הליבה והמודולים — בין שעתיים ל-4 שעות, עלות לפי בקשה לאחר בדיקה. העברה מרכזית (Drupal 9 → 10) — בין יום ל-3 ימים, עלות מחושבת באופן אישי. הגדרת CI/CD לעדכונים אוטומטיים — ממספר שעות, תמחור לפי מורכבות; האוטומציה מחזירה את עצמה לאחר 3–4 מחזורי עדכון. קבלו ייעוץ על עדכון אתר ה-Drupal שלכם וצרו קשר לתוכנית תחזוקה אופטימלית.