בקרת מקור

פרוס מהמאגר שבו אתה כבר משתמש — תשעה מקומות למקם אותו

חברו את חשבון ה-GitHub או ה-GitLab שבו אתם עובדים ופרסו ישירות מענף: אל Cloudflare Pages, GitHub Pages, GitLab Pages, Netlify, Vercel, Render, Azure Static Web Apps או AWS Amplify — או אל האחסון המנוהל שלנו, שבו המאגר וקובצי האתר נשארים מסונכרנים לשני הכיוונים. כל חיבור מציג את ההרשאות הנדרשות לו, נבדק מול ה-API של הספק לפני שמירתו, ונשמר ב-Vault. באפשרותכם גם להתחבר באמצעות GitHub או GitLab.

הגשה הנעה לאורך תהליך אוטומטי ממאגר אל אתר פעיל.
  • GitHub + GitLabחברו את החשבון שכבר יש לכם
  • תשעה יעדיםשמונה מארחי קצה, בתוספת הצי שלנו
  • סנכרון דו-כיווניכל אתר, כל שורה
  • מאוחסן ב-Vaultמאומת בעת ההזנה, לעולם לא ביומן
  • האסימון נבדק לפני אחסונואסימון בעל היקף הרשאות רחב מדי לעולם אינו נקלט
  • בצע Push לפריסההחתימה אומתה, ורשות
  • הענף שלך, הבנייה שלךפרסם ספרייה או הפעל CI משלך
  • התנתק בצורה נקייהאנו מסירים בדיוק את ה-hook שיצרנו

התחברו פעם אחת, וראו למה אתם מסכימים

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

ההרשאות, מפורטות מראש

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

נבדק מול הספק, לא התקבל על סמך אמון בלבד

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

מאוחסן ב-Vault, ובשום מקום אחר

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

יותר מחשבון אחד, נבחר לכל אתר

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

תשעה מקומות שמאגר יכול לנחות בהם

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

Cloudflare Pages

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

אחסון Cloudflare Pages →

GitHub Pages

פרסמו ישירות מתוך המאגר שבו הקוד כבר נמצא. סומן בשורת ה-Footprint-Free, מכיוון שתשתית ה-github.io המשותפת היא בעצמה עקבה.

אחסון GitHub Pages →

GitLab Pages, Netlify, Vercel והשאר

GitLab Pages, Netlify, Vercel, Render, Azure Static Web Apps ו-AWS Amplify הן כולן יעדים שניתן לכוון אליהם אתר, עם אותו החיבור ואותה היסטוריית פריסה.

אחסון אתרים סטטיים →

האחסון המנוהל שלנו

אפליקציה מלאה במקום חבילה מובנית — WordPress, PHP, Node. זהו היעד שמקבל סנכרון דו-כיווני, כך שהקבצים במכונה ובענף נשארים מתואמים.

אחסון מנוהל →

אתרים בקצה הרשת של מישהו אחר

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

הקצאות לאתרים חיצוניים →

או ערוך אותו כאן

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

עורך הווב →

סנכרון דו-כיווני

המאגר שלכם והאתר החי שלכם, בתיאום מושלם

הפעילו זאת וקבצי האתר עצמם יישלחו חזרה לענף שלכם, בעוד שהשינויים (commits) בענף זה יחזרו חזרה לאתר. זה עובד בכל אתר שאנו מארחים, בכל שורה — הדרישה היחידה היא שהמכונה שמתחת תוכל להריץ את Git כנגד הקבצים שלה, דבר המבוקש מהשרת במקום להניח אותו מתוך התוכנית.

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

  • עריכות בחומרה שלנו הופכות לקומיטים בענף שלכם
  • ההפקדות (commits) בענף שלך חוזרות לאתר
  • סנכרנו ספרייה אחת בלבד — ערכת עיצוב, תוסף — ולא את כל תיקיית השורש של המסמכים
  • מושבת כברירת מחדל, כולל בכל אתר שכבר קיים
קובץ פתוח בעורך כשאותו הקובץ מוצג כ-commit במאגר.

פרסם ספרייה, או תן ל-CI שלך לבנות אותה

שני מצבים, וההבדל הוא היכן מופעל ה-build. שניהם מסתיימים באותו המקום: ref שאנו מושכים ומפרסמים, כאשר ה-commit מתועד כנגד הפריסה.

  • מצב פרסום לוקח את הענף שלכם כפי שהוא ומפרסם את הספרייה שתציינו — ריק פירושו שורש המאגר.
  • מצב CI מריץ את פקודת הבנייה שלכם בצינור העבודה של הספק שלכם ומבצע קומיט של הפלט לענף פרסום נפרד, שאותו אנו מושכים כמו כל הפניה אחרת.
  • הענף שממנו מפורסמת פריסה מצוין תמיד במפורש בשמו, לעולם לא כ"ענף ברירת המחדל" — ברירת מחדל עשויה להשתנות מבלי שתשימו לב, והיסטוריה שאינה יכולה לציין איזה ענף פורסם איננה היסטוריה.
  • הפריסה האוטומטית מופעלת כברירת מחדל וניתן לכבות אותה מבלי להסיר את ה-webhook, כך שתוכל לצפות במשלוחים המגיעים לפני שתאפשר להם לפעול.
  • כל פריסה מתעדת את ה-commit שלה, את התוצאה שלה ואת השעה שלה, ופועלת ברקע — הדף מתעדכן עם סיום הבנייה.
  • הניתוק מסיר בדיוק את ה-webhook שיצרנו, לפי ה-id שלו, ושום דבר אחר במאגר שלכם.

מהמאגר לאתר הפעיל

  1. חיבור החשבון

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

  2. הפניית אתר למאגר

    בעלים, מאגר, ענף, והאם אנו מפרסמים ספרייה או מושכים את מה שה-CI שלכם בנה. אנו רושמים את ה-push webhook כחלק מכך.

  3. דחפו, או לחצו על הכפתור

    דחיפה (push) לענף המיועד מתחילה פריסה, או שתוכלו לפרוס לפי דרישה מתוך כרטיסיית הפריסה של האתר. תהליכי הבנייה פועלים ברקע.

  4. צפו בזה, ובצעו סנכרון חוזר אם תרצו

    היסטוריית הפריסה מציגה מה פורסם ומתי. הפעילו סנכרון דו-כיווני והעריכות שתבצעו כאן יחזרו כ-commits בענף שלכם.

כשמשהו משתבש

״מחובר אך מעולם לא נמסר״ הוא מצב שאכן ניידע אתכם לגביו

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

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

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

זהות

התחבר באמצעות GitHub או GitLab — או Google, או Microsoft

לצד כתובת דוא"ל וסיסמה, תוכלו להתחבר לחשבון ה-Zinn Digital® שלכם באמצעות GitHub, GitLab, Google או Microsoft. שכבת הזהות מנהלת את לחיצת היד (handshake); אנו לעולם איננו רואים את סיסמת הספק שלכם, וקישור חשבון רשת חברתית לחשבון Zinn® קיים עדיין דורש אישור בדוא"ל.

התחברות באמצעות GitHub וחיבור GitHub לצורך פריסות הן החלטות נפרדות ופרטי אימות נפרדים. ביצוע האחד אינו מבצע את האחר, והסרת האחד אינה מסירה את האחר.

  • כניסה באמצעות GitHub, GitLab, Google ו-Microsoft
  • מפתחות גישה ואימות דו-שלבי באותו החשבון
  • פרטי ההתחברות ופרטי הפריסה נשארים נפרדים
גישה מואצלת לצוות שלך
מספר אנשים המתחברים לחשבון אחד באמצעות ספקים שונים.

שאלות נפוצות

אילו ספקי בקרת מקור ניתן לחבר?

GitHub ו-GitLab. חברו את החשבון שבו אתם כבר עובדים ונוכל לפרוס מתוך המאגרים שלו, לרשום עליהם push webhook, ו—אם תרצו—לסנכרן את קובצי האתר שלכם בחזרה בכיוון השני. שניהם עוברים דרך אותו ממשק של חשבון מקושר, כך שכל מה שמופיע להלן נכון לגבי שניהם.

האם אוכל להתחבר באמצעות GitHub או GitLab?

כן, וגם באמצעות Google או Microsoft. לצד כתובת אימייל וסיסמה, באפשרותכם להתחבר לחשבון ה-Zinn Digital® שלכם באמצעות כל אחת מארבע האפשרויות. שכבת הזהות מנהלת את לחיצת היד ואנו לעולם איננו רואים את סיסמת הספק שלכם. התחברות באמצעות GitHub היא פעולה נפרדת מחיבור GitHub לצורך פריסות — באפשרותכם לבחור באחת מהן, בשתיהן או באף אחת מהן.

היכן ניתן לפרוס מאגר?

אל Cloudflare Pages, GitHub Pages, GitLab Pages, Netlify, Vercel, Render, Azure Static Web Apps או AWS Amplify עבור אתר סטטי או בנוי — או אל האחסון המנוהל שלנו, שבו המאגר וקובצי האתר נשארים מסונכרנים בשני הכיוונים. אתם בוחרים את היעד עבור האתר; חיבור המאגר זהה בכל מקרה.

האם תוכלו לבנות את האתר שלי, או שעליו להיות בנוי מראש?

כל אחת מהאפשרויות. במצב פרסום, אנו לוקחים את הענף כפי שהוא ומפרסמים את הספרייה שציינתם. במצב CI, ה-pipeline של הספק שלכם מריץ את פקודת הבנייה שלכם ושומר את הפלט בענף פרסום נפרד, שאותו אנו מושכים לאחר מכן כמו כל ref אחר. האפשרות השנייה שומרת את הבנייה ב-CI שלכם, שבו כבר נמצאים הסודות והמטמון שלכם.

האם push מופץ באופן אוטומטי?

כברירת מחדל, כן — אנו רושמים webhook במאגר ודחיפה (push) לענף שקבעתם מפעילה פריסה (deploy). באפשרותכם לבטל זאת ולהשאיר את ה-webhook, דבר שימושי יותר ממה שזה נשמע: המסירה עדיין מתועדת, כך שתוכלו לצפות בהגעת הדחיפות שלכם לפני שתאפשרו לנו לפעול לפיהן.

מה זה סנכרון דו-כיווני?

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

מה קורה אם שני הצדדים השתנו?

שום דבר אינו נדרס ושום דבר אינו נדחף. הסנכרון עוצר, מודיע לכם שהענף התקדם מעבר ל-commit שעליו התבססנו, ושואל באיזה צד אתם מעוניינים — לשמור את המאגר, או לשמור את האתר. אתר שמעולם לא סונכרן ומצביע על ענף שכבר מכיל commits הוא מצב ייחודי משל עצמו, והוא שואל במקום לנחש מהי האמת.

כיצד אסימון הגישה שלי מוגן?

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

כיצד אוכל לדעת אם אתם אכן מקבלים את ה-pushes שלי?

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

האם ניתן להשתמש בפריסת Pages בקו Footprint-Free?

האפשרות מוצעת ומסומנת. GitHub Pages ו-GitLab Pages חולקים את תשתית הספק ושמות מארח ציבוריים של github.io ו-gitlab.io, וזהו עקבות חיפוש — בדיוק הדבר ששורה זו נועדה למנוע. עבור רשת נטולת עקבות, פרסו במקום זאת על אחסון מבודד. בכל מקום אחר, Pages הוא מדרגה ראשונה.

מדוע עליי לבחור ב-Vercel באופן מפורש?

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

האם אוכל לראות מה נפרס ומתי?

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

פרוס מהמאגר שלך

התחילו תקופת ניסיון של 14 יום ללא כרטיס אשראי, חברו את GitHub או GitLab, וכוונו אתר אל ענף. פרסמו במארח קצה (edge host), או באחסון שלנו עם סנכרון קבצים לשני הכיוונים.

התחל בחינם