ההרשאות, מפורטות מראש
לפני שאתם יוצרים אסימון, אנו אומרים לכם מה עליו להיות מסוגל לעשות ומדוע. ללא היקף הרשאות גורף רק משום שהיה קל יותר לבקש זאת, וללא גילוי בדיעבד שרצינו יותר ממה שהמשימה דרשה.
בקרת מקור
חברו את חשבון ה-GitHub או ה-GitLab שבו אתם עובדים ופרסו ישירות מענף: אל Cloudflare Pages, GitHub Pages, GitLab Pages, Netlify, Vercel, Render, Azure Static Web Apps או AWS Amplify — או אל האחסון המנוהל שלנו, שבו המאגר וקובצי האתר נשארים מסונכרנים לשני הכיוונים. כל חיבור מציג את ההרשאות הנדרשות לו, נבדק מול ה-API של הספק לפני שמירתו, ונשמר ב-Vault. באפשרותכם גם להתחבר באמצעות GitHub או GitLab.
חיבור הוא פרטי גישה שאתם מוסרים למישהו אחר. החיבור שלנו מציין מה נדרש לו לפני שאתם יוצרים אותו, מוכיח שהוא עובד לפני שהוא שומר אותו, וניתן לבטלו מכל אחד מהצדדים.
לפני שאתם יוצרים אסימון, אנו אומרים לכם מה עליו להיות מסוגל לעשות ומדוע. ללא היקף הרשאות גורף רק משום שהיה קל יותר לבקש זאת, וללא גילוי בדיעבד שרצינו יותר ממה שהמשימה דרשה.
אנו קוראים ל-API של הספק עצמו באמצעות האסימון שלכם לפני שמירתו. אסימון שגוי, שפג תוקפו או בעל הרשאות שגויות נדחה כבר בטופס, במקום להתקבל, להיראות כתקין ולהיכשל בפריסה האמיתית הראשונה.
לא בקוד שלנו, לא בקובץ סביבה, לא ביומן ולא בשורת פקודה. נפתר ברגע שמשתמשים בו, על ידי עומס העבודה שמשתמש בו.
חברו חשבון אישי לחשבון של ארגון, או שני ארגונים. כל אתר בוחר מהיכן לפרוס, כך שהמאגר של הלקוח והמאגר שלכם לעולם אינם חולקים פרטי אימות.
שמונה מארחי קצה מנוהלים וצי משלנו. היעד הוא מאפיין של האתר, לא של החיבור, כך שאותו מאגר יכול לפרסם ענף אחד למארח Pages ואתר אחר יכול לפעול על החומרה שלנו.
רוחב פס ללא הגבלה, שימוש מסחרי מותר, ודומיינים ראשיים (apex) המנוהלים אצל אותו ספק שבדרך כלל מחזיק באזור ה-DNS שלכם. זהו היעד הראשון שאנו פונים אליו מהסיבות הללו.
אחסון Cloudflare Pages →פרסמו ישירות מתוך המאגר שבו הקוד כבר נמצא. סומן בשורת ה-Footprint-Free, מכיוון שתשתית ה-github.io המשותפת היא בעצמה עקבה.
אחסון GitHub Pages →GitLab Pages, Netlify, Vercel, Render, Azure Static Web Apps ו-AWS Amplify הן כולן יעדים שניתן לכוון אליהם אתר, עם אותו החיבור ואותה היסטוריית פריסה.
אחסון אתרים סטטיים →אפליקציה מלאה במקום חבילה מובנית — WordPress, PHP, Node. זהו היעד שמקבל סנכרון דו-כיווני, כך שהקבצים במכונה ובענף נשארים מתואמים.
אחסון מנוהל →אתר המפורסם במארח שאינו בבעלותנו עדיין מנצל מכסה ועדיין מופיע בלוח הבקרה שלכם עם פריסותיו, זמן הפעולה התקינה שלו ונתוני ה-SEO שלו לצד כל שאר הדברים שאתם מפעילים.
הקצאות לאתרים חיצוניים →העורך בדפדפן פועל על אותם קבצים שסנכרון דו-כיווני דוחף בחזרה, כך שתיקון מהיר מלוח הבקרה הופך ל-commit בענף שלכם במקום לשינוי שאיש לא יוכל למצוא מאוחר יותר.
עורך הווב →סנכרון דו-כיווני
הפעילו זאת וקבצי האתר עצמם יישלחו חזרה לענף שלכם, בעוד שהשינויים (commits) בענף זה יחזרו חזרה לאתר. זה עובד בכל אתר שאנו מארחים, בכל שורה — הדרישה היחידה היא שהמכונה שמתחת תוכל להריץ את Git כנגד הקבצים שלה, דבר המבוקש מהשרת במקום להניח אותו מתוך התוכנית.
אתם בוחרים איזו ספרייה תסתנכרן, מכיוון שלקוח WordPress רוצה מעקב אחר ערכת העיצוב שלו ולא אחר ארבעים אלף קובצי ליבה. והיא כבויה עד שתפעילו אותה: הפעלת סנכרון היא החלטה הנוגעת למאגר של מישהו אחר, והגירה לעולם אינה צריכה לקבל אותה במקומכם.
שני מצבים, וההבדל הוא היכן מופעל ה-build. שניהם מסתיימים באותו המקום: ref שאנו מושכים ומפרסמים, כאשר ה-commit מתועד כנגד הפריסה.
GitHub או GitLab, תחת חיבורים. ההרשאות מפורטות לפני יצירת האסימון, והוא נבדק מול הספק לפני שמירתו.
בעלים, מאגר, ענף, והאם אנו מפרסמים ספרייה או מושכים את מה שה-CI שלכם בנה. אנו רושמים את ה-push webhook כחלק מכך.
דחיפה (push) לענף המיועד מתחילה פריסה, או שתוכלו לפרוס לפי דרישה מתוך כרטיסיית הפריסה של האתר. תהליכי הבנייה פועלים ברקע.
היסטוריית הפריסה מציגה מה פורסם ומתי. הפעילו סנכרון דו-כיווני והעריכות שתבצעו כאן יחזרו כ-commits בענף שלכם.
כשמשהו משתבש
חיבור למאגר שנראה תקין ואינו מקבל דבר הוא הכשל השקט הקלאסי — אסימון עם טווח הרשאות שגוי, מסירה שנחסמה אצל הספק, או hook שמישהו הסיר ידנית. הוא אינו נראה באף מסך אחר, ולכן כרטיס המאגר מציג אותו ישירות: מתי הספק ביצע את המסירה האחרונה אלינו, ומה הייתה הודעתו.
המשלוחים עוברים בדיקת חתימה לפני שאנו פועלים לפיהם, באמצעות הסכמה של כל ספק בנפרד ולא לפי סכמה שהנחנו שתקפה לכולם. משלוח שלא מאומת נדחה ומתועד, ולא מתעלמים ממנו בשקט.
זהות
לצד כתובת דוא"ל וסיסמה, תוכלו להתחבר לחשבון ה-Zinn Digital® שלכם באמצעות GitHub, GitLab, Google או Microsoft. שכבת הזהות מנהלת את לחיצת היד (handshake); אנו לעולם איננו רואים את סיסמת הספק שלכם, וקישור חשבון רשת חברתית לחשבון Zinn® קיים עדיין דורש אישור בדוא"ל.
התחברות באמצעות GitHub וחיבור GitHub לצורך פריסות הן החלטות נפרדות ופרטי אימות נפרדים. ביצוע האחד אינו מבצע את האחר, והסרת האחד אינה מסירה את האחר.
GitHub ו-GitLab. חברו את החשבון שבו אתם כבר עובדים ונוכל לפרוס מתוך המאגרים שלו, לרשום עליהם push webhook, ו—אם תרצו—לסנכרן את קובצי האתר שלכם בחזרה בכיוון השני. שניהם עוברים דרך אותו ממשק של חשבון מקושר, כך שכל מה שמופיע להלן נכון לגבי שניהם.
כן, וגם באמצעות 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 שלכם, שבו כבר נמצאים הסודות והמטמון שלכם.
כברירת מחדל, כן — אנו רושמים webhook במאגר ודחיפה (push) לענף שקבעתם מפעילה פריסה (deploy). באפשרותכם לבטל זאת ולהשאיר את ה-webhook, דבר שימושי יותר ממה שזה נשמע: המסירה עדיין מתועדת, כך שתוכלו לצפות בהגעת הדחיפות שלכם לפני שתאפשרו לנו לפעול לפיהן.
עריכות שנעשות בחומרה שלנו הופכות ל-commits בענף שלכם, ו-commits בענף שלכם חוזרים לאתר. האפשרות כבויה עד שתפעילו אותה, מכיוון שהפעלתה היא החלטה הנוגעת למאגר של מישהו אחר ואנחנו לא נקבל אותה במקומכם. אתם בוחרים איזו ספרייה תסתנכרן — בדרך כלל תבנית או תוסף, ולא ארבעים אלף קובצי ליבה של WordPress.
שום דבר אינו נדרס ושום דבר אינו נדחף. הסנכרון עוצר, מודיע לכם שהענף התקדם מעבר ל-commit שעליו התבססנו, ושואל באיזה צד אתם מעוניינים — לשמור את המאגר, או לשמור את האתר. אתר שמעולם לא סונכרן ומצביע על ענף שכבר מכיל commits הוא מצב ייחודי משל עצמו, והוא שואל במקום לנחש מהי האמת.
אנו מציגים בפניכם את ההרשאות שהחיבור דורש לפני שאתם יוצרים אותו, בודקים את האסימון מול ה-API של הספק עצמו בעת ההזנה — כך שאסימון שאינו תקין או בעל תחום שגוי לא יישמר כלל — ורק לאחר מכן כותבים אותו אל Vault. הוא לעולם אינו נוגע בקוד שלנו, ביומן רישום, בקובץ סביבה או בשורת פקודה. בטלו אותו אצל הספק או הסירו את החיבור מכאן, בכל עת שתרצו.
כרטיס המאגר מציג מתי הספק ביצע מסירה אלינו לאחרונה ומה נאמר בה. "מעולם לא נמסר" הוא האבחון השימושי ביותר במסך זה, מכיוון ש-"מחובר אך מעולם לא נמסר" הוא בדיוק האופן שבו נראים טוקן בעל היקף שגוי או מסירה שנחסמה — ולא ניתן לראות זאת בשום מקום אחר. כל מסירה עוברת אימות חתימה לפני שאנו פועלים לפיה.
האפשרות מוצעת ומסומנת. GitHub Pages ו-GitLab Pages חולקים את תשתית הספק ושמות מארח ציבוריים של github.io ו-gitlab.io, וזהו עקבות חיפוש — בדיוק הדבר ששורה זו נועדה למנוע. עבור רשת נטולת עקבות, פרסו במקום זאת על אחסון מבודד. בכל מקום אחר, Pages הוא מדרגה ראשונה.
מכיוון שהמסלול החינמי שלו מורשה לשימוש לא מסחרי בלבד. אנו מסיקים יעד מהחשבונות שחיברתם היכן שהדבר בטוח, ו-Vercel מוחרג בכוונה מהסקה זו — חיבור חשבון לעולם לא אמור למקם בשקט אתר מסחרי במקום שבו הרישיון שלו אינו מתיר זאת. בחרו בו והוא יפעל בדיוק כמו האחרים.
כן. כל פריסה מתעדת את ה-commit שפורסם, מתי היא רצה וכיצד היא הסתיימה, ולשונית הפריסה של האתר מציגה את ההיסטוריה עם כתובת ה-URL הפעילה לצדה. פריסות פועלות ברקע, כך שהדף מתעדכן עם סיום הבנייה במקום לגרום לכם להמתין מול מחוון טעינה.
התחילו תקופת ניסיון של 14 יום ללא כרטיס אשראי, חברו את GitHub או GitLab, וכוונו אתר אל ענף. פרסמו במארח קצה (edge host), או באחסון שלנו עם סנכרון קבצים לשני הכיוונים.
התחל בחינם