הגדרת פריסה ל-Azure App Service

נמאס לכם מהעלאות קבצים ידניות ומהשבתות ליליות של האתר? אנחנו מגדירים פריסה על Azure App Service כך שהקוד שלכם מגיע לסביבת הייצור באופן אוטומטי וללא השבתות. הצוות שלנו מוסר את הפרויקט במפתח מלא—מבחירת התוכנית ועד CI/CD עם Deployment Slots—ומבטיח פעילות יציבה ותמיכה מתמשכת.

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

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

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

השירותים שאנו מציעים
מציג 1 מתוך 1כל 2062 השירותים
הגדרת פריסה ל-Azure App Service
בינוני
~2-3 ימים

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

שאלות נפוצות

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

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

הגדרת פריסת Azure App Service

תארו לעצמכם שאתם דוחפים קוד לענף הראשי ובתוך דקה הוא חי בייצור ללא שנייה אחת של השבתה. ללא העלאות FTP ידניות, ללא שגיאות 502 באמצע הלילה. זה בדיוק איך נראית פריסת Azure App Service מוגדרת כראוי. ראינו עשרות פרויקטים שבהם שגיאות תצורה קטנות — ריצה שגויה, משתני סביבה חסרים, CI/CD שבור — הובילו לשעות של השבתה. הנה איך להימנע מכך.

הגדרה נכונה של Azure App Service כוללת מספר רכיבים מרכזיים: בחירת התוכנית הנכונה, אוטומציה של בניות ופריסות, ארגון סביבות באמצעות Deployment Slots, והגדרת קנה מידה אוטומטי. להלן הצעדים הקונקרטיים שאנו מיישמים בכל פרויקט.

יצירת App Service

תוכנית ה-App Service היא הבסיס. לייצור, אנו בוחרים לפחות רמת B2 כדי להבטיח מרווח ביצועים עבור PHP 8.3 או Node.js. פקודת Azure CLI:

az group create --name myapp-rg --location westeurope
az appservice plan create \
  --name myapp-plan \
  --resource-group myapp-rg \
  --sku B2 \
  --is-linux
az webapp create \
  --name myapp-prod \
  --resource-group myapp-rg \
  --plan myapp-plan \
  --runtime "PHP|8.3"

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

איך להקים CI/CD עם GitHub Actions?

GitHub Actions היא הבחירה האופטימלית לאוטומציה. הכנו workflow אוניברסלי שאנו מתאימים לכל טכנולוגיה:

---
# .github/workflows/azure-deploy.yml
name: Deploy to Azure
on:
  push:
    branches: [main]
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Setup PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: '8.3'
      - name: Install dependencies
        run: composer install --no-dev --optimize-autoloader
      - name: Build frontend
        run: npm ci && npm run build
      - name: Deploy to Azure Web App
        uses: azure/webapps-deploy@v3
        with:
          app-name: myapp-prod
          publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}
          package: .

חשוב: שמרו את publish-profile בסודות GitHub — לעולם אל תכניסו סיסמאות למאגר. ה-workflow רץ אוטומטית בכל דחיפה לענף הראשי, ובתוך 2–3 דקות הגרסה החדשה חיה.

למה Deployment Slots הם חובה לייצור?

Deployment Slots הם סביבות מבודדות בתוך אותו App Service. אתם פורסים גרסה חדשה ל-staging, בודקים אותה, ואז מחליפים מיידית לייצור. ההחלפה אורכת שניות; המשתמשים לא שמים לב לשינוי. אם משהו משתבש, החזרה לאחור היא פעולה אחת.

# Создать staging slot
az webapp deployment slot create \
  --name myapp-prod \
  --resource-group myapp-rg \
  --slot staging

# Деплой в staging
az webapp deploy \
  --name myapp-prod \
  --resource-group myapp-rg \
  --slot staging \
  --src-path deployment.zip

# Swap staging → production (мгновенно, zero-downtime)
az webapp deployment slot swap \
  --name myapp-prod \
  --resource-group myapp-rg \
  --slot staging \
  --target-slot production

# Swap Back если что-то пошло не так
az webapp deployment slot swap \
  --name myapp-prod \
  --resource-group myapp-rg \
  --slot production \
  --target-slot staging

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

איך לחבר דומיין מותאם אישית ו-SSL?

לאחר הפריסה, עליכם לקשר את הדומיין שלכם. Azure App Service תומך בתעודות SSL חינמיות מ-Let's Encrypt או בתעודות משלכם מ-Key Vault. התהליך:

  1. בפורטל Azure, הוסיפו את הדומיין המותאם אישית תחת הסעיף 'Custom domains'.
  2. קשרו תעודת SSL (חינמית או משלכם).
  3. ציינו את קישור ה-TLS/SSL עבור הדומיין שלכם.

טיפ: השתמשו ב-Azure Key Vault לאחסון תעודות — זה מאובטח יותר מאחסון בקבצים.

קנה מידה אוטומטי: כשהאתר שלכם גדל

תוכנית ה-App Service יכולה להתאים את עצמה אוטומטית בהתבסס על מדדים. הגדרה דרך CLI:

az monitor autoscale create \
  --resource-group myapp-rg \
  --resource myapp-plan \
  --resource-type Microsoft.Web/serverfarms \
  --name autoscale-rule \
  --min-count 2 \
  --max-count 10 \
  --count 2
az monitor autoscale rule create \
  --autoscale-name autoscale-rule \
  --resource-group myapp-rg \
  --scale out 2 \
  --condition "Percentage CPU > 75 avg 5m"

עם קנה מידה אוטומטי נכון, פרויקט יכול להתמודד עם עלייה של פי 10 בתעבורה ללא התערבות ידנית. לדוגמה, הלקוח שלנו — שירות הזמנות מקוון — התמודד עם Black Friday עם גל תעבורה של פי 15 תוך שמירה על היענות.

השוואת שיטות פריסה

שיטה זמן הגדרה ללא השבתה הכי מתאים ל
FTP/zip 30 דקות פרויקטי בדיקה
GitHub Actions יום אחד ✅ (עם slots) ייצור
Azure DevOps יום אחד ארגונים
Terraform 3–4 ימים תשתית כקוד

GitHub Actions מהירה פי 10 מהעלאת FTP ידנית ומבטלת לחלוטין טעויות אנוש. עם FTP, אתם מבזבזים 10 דקות בהעלאת קבצים; עם CI/CD, זה 2 שניות לכל commit.

טעויות נפוצות ופתרונות

  • 502 Bad Gateway: לרוב נובעת מחוסר התאמה בגרסה בין סביבת הריצה של PHP/Node.js לסביבת Azure. בדקו את az group create --name myapp-rg --location westeurope az appservice plan create \ --name myapp-plan \ --resource-group myapp-rg \ --sku B2 \ --is-linux az webapp create \ --name myapp-prod \ --resource-group myapp-rg \ --plan myapp-plan \ --runtime "PHP|8.3" והשוו עם התצורה המקומית שלכם.
  • משתני סביבה לא נקלטים: הגדירו אותם דרך # .github/workflows/azure-deploy.yml name: Deploy to Azure on: push: branches: [main] jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup PHP uses: shivammathur/setup-php@v2 with: { php-version: '8.3' } - name: Install dependencies run: composer install --no-dev --optimize-autoloader - name: Build frontend run: npm ci && npm run build - name: Deploy to Azure Web App uses: azure/webapps-deploy@v3 with: app-name: myapp-prod publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }} package: . , לא על ידי הכללת קובץ .env בארכיון.
  • תעודת SSL לא עובדת: ודאו שקישרתם את התעודה בפורטל Azure לאחר הוספתה.

מה כלול בהגדרה סוהר

כשאתם מפקידים בידינו את הגדרת פריסת ה-Azure App Service שלכם, אנו:

  • מנתחים את הפרויקט שלכם ובוחרים את התוכנית האופטימלית (עבדנו עם Azure למעלה מ-5 שנים והגדרנו פריסות ל-50+ פרויקטים)
  • מקימים CI/CD דרך GitHub Actions או Azure DevOps
  • מחברים Deployment Slots עם החלפה אוטומטית וללא השבתה
  • קושרים דומיין מותאם אישית ותעודת SSL
  • מגדירים קנה מידה אוטומטי וניטור
  • מתעדים את כל התצורה

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

לוח זמנים ליישום

שלב משך
פריסת App Service בסיסית + GitHub Actions 1–2 ימים
Deployment Slots + החלפה +יום אחד
Terraform תשתית כקוד 3–4 ימים

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