דלג לתוכן

Git Deployment בקלאודוויז (Cloudways): איך לפרוס קוד מ-Git, כולל Webhooks ו-Autonomous

בעמוד הזה

עודכן לאחרונה: · מאת

בקצרה: כדי לבצע Git Deployment, כלומר לפרוס קוד מ-Git לקלאודוויז (Cloudways), פותחים באפליקציה את Deployment via Git, לוחצים Generate SSH Keys, מוסיפים את המפתח הציבורי ל-GitHub, Bitbucket או GitLab, מדביקים את כתובת ה-SSH של המאגר, בוחרים ענף ונתיב, ולוחצים Start Deployment. מכאן כל עדכון הוא לחיצה על Pull. ב-Flexible אפשר גם להפוך את זה לאוטומטי: Webhook במאגר שמפעיל את ה-API של קלאודוויז בכל Push. ב-Autonomous הפריסה נמצאת תחת Workflow/Tools.

⏱ זמן ביצוע: 15 דקות לחיבור הראשון, 30–45 דקות לפריסה אוטומטית · רמת קושי: בינוני (מפתחים) · נבדק לאחרונה מול התיעוד הרשמי: 06.11.2026

איך עובדת פריסה מ-Git בקלאודוויז

לפני הכפתורים, כמה מושגים שיחסכו לכם הפתעות.

Git היא מערכת לניהול גרסאות של קוד. הקוד שלכם יושב במאגר (Repository) אצל ספק כמו GitHub, ופריסה (Deployment) היא העתקת הגרסה העדכנית של ענף (Branch) מסוים מהמאגר לשרת.

בקלאודוויז הפריסה היא Pull: השרת מושך את הקוד מהמאגר. כדי שהשרת יורשה לקרוא מהמאגר, הוא מזדהה עם מפתח SSH. קלאודוויז מייצרת זוג מפתחות, ואת המפתח הציבורי אתם מוסיפים למאגר כ-Deploy Key, מפתח שנותן גישה למאגר אחד בלבד. לכן חיבור עובד רק עם כתובת SSH של המאגר ([email protected]:…), ולא עם כתובת HTTPS.

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

  • פריסה לא מוחקת קבצים. קובץ שקיים בתיקייה בשרת ולא קיים במאגר יישאר. Pull מעדכן ומוסיף, לא מנקה.
  • Pull דורס שינויים ב-SFTP. קובץ שערכתם ישירות בשרת יוחלף בגרסה מהמאגר בפריסה הבאה, אם הוא קיים שם.
  • שחזור גיבוי דורס הכול. אחרי שחזור, Pull נוסף יעדכן את הקבצים לגרסה האחרונה במאגר.
  • הסרת החיבור לא מוחקת כלום. Remove מוחק רק את הגדרות ה-Git של האפליקציה, לא קבצים ולא את המאגר.

מה כדאי להכניס ל-Git באתר וורדפרס

באתר וורדפרס, כמעט אף פעם לא פורסים את כל האתר מ-Git. ליבת וורדפרס ותוספים מתעדכנים מלוח הבקרה, ותיקיית ההעלאות (uploads) נמצאת רק בשרת. הדפוס הנפוץ הוא מאגר שמכיל רק את התבנית (או תוסף מותאם), ונתיב פריסה שמצביע לתיקייה שלה, למשל public_html/wp-content/themes/my-theme/.

ולגבי wp-config.php וקבצי הגדרות: לפי קלאודוויז, אין אפשרות "להגן" על קובץ מפני דריסה. קובץ שלא אמור להשתנות בפריסה לא צריך להיות במעקב Git מלכתחילה. הוציאו אותו מהמאגר (untrack), והוסיפו ל-.gitignore.

לפני שמתחילים

  • מאגר אצל ספק שתומך ב-Git over SSH: GitHub, GitLab, Bitbucket ודומיהם.
  • הרשאות ניהול במאגר, כדי להוסיף Deploy Key ו-Webhook.
  • אתר (אפליקציה) קיים בקלאודוויז. מומלץ לחבר את Git קודם לסביבת Staging, לבדוק שם, ורק אחר כך לאתר החי.
  • גיבוי של האפליקציה לפני הפריסה הראשונה, במיוחד אם הנתיב הוא public_html עם קבצים קיימים.

איך פורסים מהפאנל ב-Flexible

שלב 1: יצירת מפתח SSH בקלאודוויז

  1. בפאנל לחצו Flexible בתפריט הצד, ובמסך שנפתח את הלשונית Servers. בחרו את השרת, לחצו על סמל הגלובוס ובחרו את האפליקציה.
  2. בתפריט השמאלי של האפליקציה לחצו Deployment via GIT.
  3. לחצו Generate SSH Keys.
  4. לחצו View SSH Key והעתיקו את המפתח הציבורי (או הורידו אותו כקובץ git_ssh_key.txt).
מסך Deployment via GIT ליצירת מפתחות SSH
מסך Deployment via Git של האפליקציה, עם הכפתור Generate SSH Keys

שלב 2: הוספת המפתח למאגר ב-GitHub

  1. ב-GitHub פתחו את המאגר ולחצו Settings.
  2. בתפריט הצד בחרו Deploy keys ולחצו Add deploy key.
  3. תנו שם (למשל "Cloudways – staging") והדביקו את המפתח בשדה Key.
  4. לפריסה מהפאנל לא צריך הרשאת כתיבה, אז השאירו את Allow write access כבוי. לחצו Add key.

ב-Bitbucket וב-GitLab יש אפשרות מקבילה בשם Access keys או Deploy keys בהגדרות המאגר.

שלב 3: חיבור המאגר ופריסה ראשונה

  1. ב-GitHub לחצו על הכפתור הירוק Code, בחרו SSH והעתיקו את הכתובת ([email protected]:user/repo.git).
  2. בקלאודוויז הדביקו אותה בשדה Git Remote Address ולחצו Authenticate. זה בודק שהשרת מצליח לדבר עם המאגר.
  3. בחרו ענף. ברירת המחדל היא master, וברוב המאגרים החדשים תצטרכו לבחור main.
  4. הזינו Deployment Path: התיקייה שאליה הקוד יועתק. סיימו אותה ב-/. אם תשאירו ריק, הקוד ייפרס ל-public_html.
  5. לחצו Start Deployment וחכו להודעה שהפריסה הושלמה.

אחרי הפריסה הראשונה יופיעו כפתורים לניהול החיבור: Pull (משיכת השינויים האחרונים), שינוי ענף, ו-Remove. הכפתור View Deployment Logs מציג מתי ומי פרס, ושימושי במיוחד כשכמה מפתחים עובדים על אותו אתר.

איך פורסים מ-Git ב-Cloudways Autonomous

ב-Autonomous אותו רעיון, במיקום אחר ועם הבדל אחד במפתח.

  1. בפאנל עברו ל-Autonomous ובחרו את האפליקציה מתוך My Applications.
  2. בתפריט העליון של האפליקציה לחצו Workflow/Tools, ובתפריט הצד Deployment via GIT.
  3. לחצו Generate SSH Keys (זה יכול לקחת כמה דקות), ואז View SSH Keys והעתיקו את המפתח, או הורידו אותו עם Download SSH Key.
  4. ב-GitHub, לפי התיעוד של Autonomous, מוסיפים את המפתח תחת Settings של החשבון, ואז SSH and GPG keys ו-New SSH key.
  5. העתיקו את כתובת ה-SSH של המאגר, הדביקו ב-GIT Remote Address ולחצו Authenticate.
  6. בחרו ענף, ודאו את Deployment Path (בדרך כלל public_html/), ולחצו Start Deployment.
  7. מכאן, עדכונים בלחיצה על Pull.

שימו לב להבדל: מפתח שמוסיפים לחשבון GitHub (ולא כ-Deploy Key למאגר) נותן גישה לכל המאגרים שהחשבון רואה. אם אפשר, השתמשו בחשבון GitHub ייעודי לפריסה עם גישה רק למאגרים הרלוונטיים, או הוסיפו את המפתח כ-Deploy Key במאגר עצמו. לפי התיעוד, ב-Autonomous נתמכים GitHub, GitLab, Bitbucket ו-Assembla.

איך עובדים עם Git בשורת הפקודה (SSH)

הפאנל יודע רק למשוך (Pull). אם אתם צריכים לעבוד עם Git בשרת עצמו, למשל לבצע Push של שינויים חזרה למאגר, להחליף ענפים או לשכפל, עושים את זה ב-SSH. Git (גרסה 2.30.x לפי התיעוד) מותקן מראש בכל שרת.

חשוב: צריך פרטי גישה ראשיים (Master Credentials). פרטי גישה של אפליקציה לא מאפשרים ליצור ולקרוא מפתחות SSH במיקום ברירת המחדל. חבר צוות בלי גישה ראשית יכול להשתמש רק בפריסה מהפאנל.

  1. התחברו ב-SSH עם המשתמש הראשי.
  2. צרו מפתח (Enter לשמירה במיקום ברירת המחדל, ו-Enter פעמיים לסיסמה ריקה):
ssh-keygen -t rsa -b 4096 -C "[email protected]"
cat /home/master/.ssh/id_rsa.pub
  1. הוסיפו את המפתח הציבורי כ-Deploy Key במאגר, והפעם סמנו Allow write access אם אתם רוצים לבצע Push מהשרת. שימו לב: המפתח נוצר בלי סיסמה, כמו בתיעוד, ולכן מי שמגיע לתיקיית ה-.ssh של המשתמש הראשי יכול להשתמש בו. הוסיפו אותו כ-Deploy Key למאגר אחד, ולא לחשבון GitHub שלכם.
  2. עבדו מתוך התיקייה של האפליקציה. מומלץ private_html, כי אם תשכפלו מאגר לתוך public_html, תיקיית .git עלולה להיות נגישה לדפדפן:
cd applications/APP_FOLDER/private_html
git clone [email protected]:user/repo.git
cd repo
git checkout -b feature-x
git add .
git commit -m "Describe the change"
git push origin feature-x

שני דברים לזכור: המפתח שנוצר בפאנל עובד רק לפריסה מהפאנל, והמפתח שיצרתם ב-SSH עובד רק בשורת הפקודה. לפי התיעוד אפשר להוסיף את אותו מפתח ציבורי לכמה מאגרים שמחוברים לאתרים על אותו שרת. ב-GitHub, Deploy Key ייחודי למאגר אחד, ולכן למאגר נוסף צרו מפתח נפרד (ssh-keygen -f) או השתמשו במפתח ברמת החשבון.

איך מגדירים פריסה אוטומטית עם Webhook (Flexible)

Webhook הוא הודעה אוטומטית שהמאגר שולח לכתובת שבחרתם בכל פעם שמישהו מבצע Push. בקלאודוויז מחברים אותו לסקריפט PHP קטן באתר, שמפעיל את ה-API של קלאודוויז ומבקש Pull. התוצאה: Push לענף main, והאתר מתעדכן לבד תוך דקה-שתיים. לאפליקציית PHP מותאמת, ולא רק לוורדפרס, ראו אחסון PHP מנוהל.

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

שלב 1: יצירת API Access Token

קלאודוויז מחליפה את מפתח ה-API הישן (API Key) ב-API Access Tokens. אל תבנו אינטגרציה חדשה על המפתח הישן.

  1. בפאנל לחצו על אייקון הפרופיל בפינה הימנית העליונה ובחרו API Integration. (התיעוד הרשמי מתאר גם כניסה דרך סמל הרשת בתפריט הצד.)
  2. באזור Access Token Details לחצו Create Access Token.
  3. תנו שם ברור, למשל "Git Webhook – אתר החנות", ובחרו תוקף.
  4. בהרשאות בחרו Limited Access, רק עם פעולת ה-Git הנדרשת לפריסה. Full Access רק אם אין ברירה.
  5. לחצו Create Access Token והעתיקו מיד. הטוקן מוצג פעם אחת בלבד.
תפריט החשבון עם My Account, My Teams, Billing ו-API Integration
תפריט הפרופיל, עם הכניסה ל-API Integration

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

שלב 2: איסוף הפרטים

  • Server ID ו-Application ID: מופיעים בכתובת (URL) בדפדפן כשאתם פותחים את השרת ואת האפליקציה בפאנל.
  • כתובת ה-SSH של המאגר והענף לפריסה.
  • נתיב הפריסה, או ריק ל-public_html.
  • סוד ארוך ואקראי ל-Webhook (לא סיסמה שלכם ולא הטוקן), באורך 20 תווים לפחות. אפשר לייצר אחד בשרת עם הפקודה openssl rand -hex 32.

שלב 3: קובץ הגדרות מחוץ ל-public_html וסקריפט הפריסה

צרו ב-SFTP או ב-SSH, בתיקיית האפליקציה מעל public_html (לא בתוכה), קובץ בשם gitautodeploy-config.php:

<?php
return [
    'access_token'   => 'PASTE_YOUR_ACCESS_TOKEN',
    'webhook_secret' => 'LONG_RANDOM_SECRET',
    'server_id'      => '123456',
    'app_id'         => '7890123',
    'git_url'        => '[email protected]:user/repo.git',
    'branch_name'    => 'main',
    'deploy_path'    => '',
];

ואז, בתוך public_html, קובץ בשם gitautodeploy.php. זו גרסה שלנו, והיא שונה במכוון מהסקריפט הרשמי בנקודה אחת: הסוד לא נשלח בכתובת (?secret=) אלא נבדק לפי חתימה בכותרת הבקשה, כי כתובות נשמרות ביומני שרת ובהיסטוריית דפדפן. הסקריפט מקבל רק POST, מאמת את השולח (GitHub ו-Bitbucket Cloud עם חתימת HMAC, GitLab עם טוקן בכותרת), מתעלם מ-Push לענף אחר, ורק אז שולח ל-API של קלאודוויז בקשת Pull עם הטוקן בכותרת Authorization:

<?php
declare(strict_types=1);

$configFile = dirname(__DIR__) . '/gitautodeploy-config.php';
if (!is_file($configFile)) {
    http_response_code(500);
    exit('Missing configuration file');
}
$config = require $configFile;
$secret = (string) ($config['webhook_secret'] ?? '');
if (strlen($secret) < 20 || empty($config['access_token'])) {
    http_response_code(500);
    exit('Incomplete configuration');
}

if (($_SERVER['REQUEST_METHOD'] ?? '') !== 'POST') {
    header('Allow: POST');
    http_response_code(405);
    exit('POST only');
}

// Verify the sender: GitHub (X-Hub-Signature-256), Bitbucket Cloud (X-Hub-Signature)
// or GitLab (X-Gitlab-Token). The secret never appears in the URL.
$body = (string) file_get_contents('php://input');
$expected = 'sha256=' . hash_hmac('sha256', $body, $secret);
$signature = $_SERVER['HTTP_X_HUB_SIGNATURE_256'] ?? $_SERVER['HTTP_X_HUB_SIGNATURE'] ?? '';
$gitlabToken = $_SERVER['HTTP_X_GITLAB_TOKEN'] ?? '';
$valid = ($signature !== '' && hash_equals($expected, $signature))
      || ($gitlabToken !== '' && hash_equals($secret, $gitlabToken));
if (!$valid) {
    http_response_code(403);
    exit('Invalid signature');
}

// GitHub sends a "ping" when the webhook is created.
if (($_SERVER['HTTP_X_GITHUB_EVENT'] ?? '') === 'ping') {
    exit('pong');
}

// Deploy only pushes to the configured branch.
$payload = json_decode($body, true);
$pushed = '';
if (is_array($payload)) {
    if (isset($payload['ref'])) {
        $pushed = (string) preg_replace('#^refs/heads/#', '', (string) $payload['ref']);
    } elseif (isset($payload['push']['changes'][0]['new']['name'])) {
        $pushed = (string) $payload['push']['changes'][0]['new']['name'];
    }
}
if ($pushed !== '' && $pushed !== (string) $config['branch_name']) {
    http_response_code(202);
    exit('Ignored: not the deploy branch');
}

$params = [
    'server_id'   => $config['server_id'],
    'app_id'      => $config['app_id'],
    'git_url'     => $config['git_url'],
    'branch_name' => $config['branch_name'],
];
if (!empty($config['deploy_path'])) {
    $params['deploy_path'] = $config['deploy_path'];
}

$ch = curl_init('https://api.cloudways.com/api/v1/git/pull');
curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT        => 60,
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer ' . $config['access_token']],
    CURLOPT_POSTFIELDS     => http_build_query($params),
]);
$response = curl_exec($ch);
$status = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

if ($response === false) {
    http_response_code(502);
    exit('Cloudways API is unreachable');
}
if ($status < 200 || $status >= 300) {
    http_response_code($status);
    exit('Cloudways API returned HTTP ' . $status);
}
echo 'Deployment request submitted';

כמה החלטות בסקריפט, למי שרוצה להבין: הטוקן והסוד יושבים בקובץ מחוץ ל-public_html, ההשוואות נעשות ב-hash_equals (בלי חשיפת זמני תגובה), הפרטים שנשלחים ל-API קבועים בקובץ ההגדרות ולא מגיעים מהבקשה, ותשובת ה-API לא מוחזרת לשולח.

אל תכניסו את קובץ ההגדרות למאגר. הוסיפו את שמו ל-.gitignore.

שלב 4: הוספת ה-Webhook במאגר

כתובת ה-Webhook היא הכתובת של הקובץ בלבד: https://domain.co.il/gitautodeploy.php, בלי סוד בכתובת. את הסוד מזינים בשדה הסוד של ה-Webhook אצל ספק ה-Git, והספק חותם איתו על כל בקשה. השתמשו ב-HTTPS. בסקריפט הרשמי של קלאודוויז הסוד מופיע בכתובת, ולכן אם תבחרו בו, טפלו בכתובת כמו בסיסמה.

ב-GitHub:

  1. במאגר לחצו Settings ואז Webhooks ו-Add webhook.
  2. ב-Payload URL הדביקו את הכתובת.
  3. ב-Content type בחרו application/json. התיעוד של קלאודוויז מציין application/x-www-form-urlencoded, אבל הסקריפט שלנו קורא JSON כדי לסנן לפי ענף.
  4. ב-Secret הדביקו את הסוד מקובץ ההגדרות.
  5. בחרו Just the push event, ודאו שה-Webhook פעיל (Active), ולחצו Add webhook.

ב-Bitbucket: Repository settings, תחת Workflow בחרו Webhooks ואז Add webhook, תנו שם, הדביקו את הכתובת, הזינו את הסוד בשדה Secret, בחרו את אירוע ה-Push ושמרו.

ב-GitLab: Settings, Webhooks, הכתובת, הסוד בשדה Secret token ואירוע Push events. GitLab ממליצה היום על טוקן חתימה (signing token) במקום Secret token, והסקריפט כאן בודק רק את ה-Secret token.

שלב 5: בדיקה

  1. בצעו שינוי קטן בענף שהגדרתם, Commit ו-Push.
  2. במאגר, פתחו את היסטוריית המשלוחים של ה-Webhook ובדקו שהתקבלה תשובה מוצלחת. תשובה 202 אומרת שה-Push היה לענף אחר ולכן לא בוצעה פריסה.
  3. בדקו באתר שהשינוי הגיע. תשובה מוצלחת אומרת שהבקשה התקבלה. ה-Pull עצמו יכול לקחת עוד רגע.
קוד שגיאהמה הוא אומרמה לבדוק
400חסר מידע או מידע שגויServer ID, App ID, כתובת המאגר, שם הענף, הנתיב
401הטוקן לא תקיןהועתק נכון? פג תוקף? בוטל?
403חתימה או סוד שגויים, או חוסר הרשאה בטוקןהסוד בשדה Secret אצל ספק ה-Git זהה לזה שבקובץ? לטוקן יש הרשאת Git?
405הבקשה לא נשלחה ב-POSTהגדרות ה-Webhook במאגר
בלאק פריידי80% הנחה
80% הנחה על חודשיים של שרת מנוהל

הקוד BFCM802 מוריד 80% מהחשבון בחודשיים הראשונים (עד 200$ הנחה בחודש), כולל העברת אתרים חינם בלי הגבלה. ללקוחות חדשים בלבד, ורק עד סוף המבצע.

המבצע מסתיים ב-4 בדצמבר 2026, ב-23:59 שעון ישראל.

נגמר בעוד—ימים—שעות—דקות—שניות
הקוד:
לתפוס את ה-80% עכשיו

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

אחרי בלאק פריידי: 30% הנחה ל-3 חודשים עם הקוד ASAEL. בשרת גדול (מעל כ-444$ בחודש) ASAEL משתלם יותר כבר עכשיו. למחשבון BFCM802 מול ASAEL

זרימת עבודה מומלצת: Git, Staging ואתר חי

דפוס עבודה מקובל לסוכנויות ולמפתחים בקלאודוויז:

  1. ענף develop מחובר לאפליקציית ה-Staging, ו-main לאתר החי.
  2. מפתחים ובודקים על Staging, כולל עם נתונים אמיתיים שהועתקו מהאתר החי.
  3. כשמאשרים, ממזגים ל-main, וה-Webhook (או Pull ידני) מעדכן את האתר החי.
  4. מסד הנתונים לא עובר ב-Git. שינויים בתוכן ובהגדרות עוברים בכלי ה-Push של Staging או ידנית.

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

מסך Staging Management עם כפתור הקמת אתר בדיקות
ניהול סביבת Staging של האפליקציה

טעויות נפוצות ואיך לפתור אותן

Authenticate נכשל: הדבקתם כתובת HTTPS במקום SSH, או שהמפתח של קלאודוויז לא נוסף למאגר. ודאו שהכתובת מתחילה ב-git@.

הפריסה "הצליחה" אבל הקבצים לא במקום: נתיב הפריסה שגוי או לא מסתיים ב-/. בדקו את התיקייה שבה הקבצים נחתו.

קבצים ישנים נשארו אחרי מחיקה במאגר: זו ההתנהגות הרגילה. Pull לא מוחק קבצים שלא קיימים במאגר. מחקו אותם ידנית בשרת.

שינוי דחוף שעשיתם ב-SFTP נעלם: Pull דרס אותו. כל שינוי צריך לעבור דרך המאגר.

חבר צוות לא מצליח להריץ Git ב-SSH: פרטי גישה של אפליקציה לא מאפשרים יצירת מפתחות. הוא צריך גישה ראשית, או לעבוד דרך הפאנל.

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

Push ל-main לא הפעיל פריסה: ה-Push היה לענף אחר מזה שבקובץ ההגדרות (הסקריפט מחזיר 202), או שהאירוע שנבחר אינו Push. בדקו את היסטוריית המשלוחים במאגר.

403 Invalid signature למרות סוד נכון: הסוד לא הוזן בשדה Secret של ה-Webhook, הוא הודבק עם רווח בסוף, או שהוא שונה מהערך ב-gitautodeploy-config.php.

מקורות

העמוד מבוסס על התיעוד והעמודים הרשמיים הבאים:

שאלות נפוצות

אילו ספקי Git עובדים עם קלאודוויז?

כל ספק שתומך ב-Git over SSH, כולל GitHub, GitLab ו-Bitbucket. ב-Autonomous התיעוד מציין במפורש GitHub, GitLab, Bitbucket ו-Assembla. כתובות HTTPS לא נתמכות, רק SSH.

האם פריסה מ-Git מוחקת קבצים בשרת?

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

אפשר לפרוס רק את התבנית של אתר וורדפרס?

כן, וזה הדפוס המומלץ. מגדירים את נתיב הפריסה לתיקיית התבנית, למשל public_html/wp-content/themes/my-theme/, והמאגר מכיל רק את התבנית.

יש בקלאודוויז פריסה אוטומטית בכל Push?

לא כפתור מובנה, אבל ב-Flexible אפשר לבנות אותה עם Webhook במאגר, סקריפט PHP קטן ו-API Access Token, לפי ההוראות במדריך. זה לוקח כחצי שעה בפעם הראשונה.

מה ההבדל בין המפתח בפאנל למפתח שאני יוצר ב-SSH?

המפתח שנוצר בפאנל משמש רק לפריסה מהפאנל ול-Webhook. המפתח שיצרתם ב-SSH עם המשתמש הראשי משמש רק לפקודות Git בשורת הפקודה, כמו Push מהשרת.

אפשר להשתמש בפריסה מ-Git ב-Autonomous?

כן, תחת Workflow/Tools ואז Deployment via GIT, עם Pull בלחיצה. Webhooks לפריסה אוטומטית מתועדים כרגע רק ל-Flexible.

מקור רשמי: Deploy Code Using Git on Cloudways Flexible, Deploy Code Using Git on Cloudways Autonomous, Using Git via Command Line, Automatically Deploy From Git Using Webhooks (Cloudways Knowledge Base). המדריך נכתב ונבדק על ידי עשהאל דרייר · עודכן: 06.11.2026

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

תמונה של עשהאל דרייר
עשהאל דרייר

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

עוד עליי ←

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

מדריכים נוספים בנושא:
מפריד
תודה על פניתך!
נציגינו יחזרו אליך בהקדם
מעונינים להתחיל?

ניתן להירשם עם קוד קופון ASAEL