הגדרה ובדיקה של חיבור Git

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

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

שילוב של Looker עם Git

‫Looker משתמש ב-Git כדי לתעד שינויים ולנהל גרסאות של קבצים. כל פרויקט של LookML תואם למאגר Git. בכל פעם שמשתמש נמצא במצב פיתוח, הוא נמצא בענף Git משלו.

כדי לנהל קובץ מקור של LookML, אפשר להגדיר את Looker עם כל ספק Git שמשתמש במפתח SSH או ב-HTTPS לאימות. השלבים הכלליים זהים בכל הפלטפורמות. בדף הזה נשתמש ב-GitHub כדוגמה לחיבור פרויקט Looker ל-Git אחרי יצירת מאגר Git.

כדי לגשת לאפשרויות השילוב של Git, צריך להפעיל את מצב הפיתוח.

אפשר להגדיר שילוב של Git באמצעות אחד מהפרוטוקולים הבאים:

  • ‫HTTPS: פרוטוקול מאובטח להעברת היפרטקסט. ב-HTTPS, ‏ Looker ניגש למאגר ה-Git באמצעות שם משתמש וסיסמה (או טוקן גישה) שאתם מספקים, כפי שמתואר במאמר חיבור ל-Git באמצעות HTTPS.
  • ‫SSH: Secure Shell (מעטפת מאובטחת). ב-SSH, ‏ Looker ניגש למאגר Git באמצעות מפתח פריסה שאתם יוצרים דרך האתר של ספק Git, כמו שמתואר במאמר Connecting to Git Using SSH.

התחברות ל-Git באמצעות HTTPS

בפרויקטים של LookML שמוגדרת בהם אימות HTTPS, ‏ Looker מתחבר לספק Git באמצעות חשבון משתמש אחד או יותר שהגדרתם אצל ספק Git. מערכת Looker משתמשת בשם משתמש ובסיסמה (או באסימון גישה) כדי להיכנס לספק Git שלכם ולבצע פעולות Git בשם מפתחי LookML.

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

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

הערות לגבי אימות HTTPS ב-GitHub:

אימות HTTPS בחשבון יחיד

אם הגדרתם את פרויקט LookML עם חשבון Git יחיד, מערכת Looker משתמשת בחשבון Git הזה כדי להיכנס לספק Git שלכם ולבצע שינויים בשם המפתחים. מערכת Looker מבצעת את השמירות האלה באמצעות שם המשתמש של המפתח ב-Looker, כדי שתוכלו לדעת איזה מפתח ביצע כל שמירה. אפשר לראות את היסטוריית הקומיטים של הפרויקט בממשק של ספק Git או על ידי בחירת האפשרות History (היסטוריה) בתפריט Git של Looker IDE. מידע נוסף על תפריטי Git ב-Looker זמין במאמר הפעלת פקודות Git ב-Looker.

באימות HTTPS של חשבון יחיד, לחשבון המשתמש ב-Git שאתם מציינים צריכות להיות הרשאות קריאה וכתיבה למאגר Git. מפתחי LookML לא צריכים חשבונות משתמש משלהם ב-Git.

אימות HTTPS של כמה חשבונות עם מאפייני משתמש

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

כדי לבצע אימות Git באמצעות מאפייני משתמש, צריך לבצע את המשימות הבאות ולעמוד בדרישות הבאות:

  • לכל מפתח LookML צריך להיות חשבון משתמש משלו אצל ספק Git. לכל חשבון משתמש ב-Git צריכה להיות גישת קריאה וכתיבה למאגר של הפרויקט.
  • האדמין ב-Looker צריך להגדיר חשבונות משתמשים ב-Looker עם מאפייני משתמש שתואמים לשם המשתמש ולסיסמה ב-Git (או טוקן גישה אם בחשבונות המשתמשים ב-Git מוגדר אימות דו-שלבי).
  • צריך להסתיר את מאפייני המשתמש של סיסמאות לחשבון Git (או אסימוני גישה). כשיוצרים את מאפיין הסיסמה או אסימון הגישה, בוחרים באפשרות כן בקטע הסתרת ערכים ומזינים את כתובת ה-URL של ספק Git בשדה רשימת היתרים של דומיינים.
  • צריך למלא את מאפייני המשתמש של שם וסיסמה (או טוקן גישה) של Git לכל מפתח Looker. אדמין ב-Looker או משתמש ב-Looker יכולים להגדיר מאפייני משתמש.

בדוגמה הבאה מוצג דף ניהול חשבון ארגוני של מאפייני המשתמש, שבו אדמין ב-Looker הגדיר מאפייני משתמש לשם המשתמש ב-Git ולאסימון הגישה של המשתמש.

טבלה בדף 'מאפייני משתמש' במסוף Admin שבה מוצגים מאפייני המשתמשים github_token ו-github_username מסוג מחרוזת.

בדוגמה הבאה מוצג הדף Account של משתמש Looker, שבו המשתמש הזין את פרטי הכניסה שלו ל-Git בשדות של מאפייני המשתמש.

הגדרת אימות Git באמצעות HTTPS

כדי להגדיר פרויקט LookML עם אימות HTTPS Git, פועלים לפי השלבים הבאים:

  1. מקבלים את כתובת ה-URL של מאגר ה-Git בפרוטוקול HTTPS. במקרה של GitHub, כשיוצרים מאגרים חדשים (מאגרים שעדיין לא מכילים קבצים), כתובת ה-URL מוצגת כחלק מההגדרה הראשונית. חשוב ללחוץ על הלחצן HTTPS בכרטיסייה קוד כדי לקבל את כתובת ה-URL מסוג HTTPS, ואז ללחוץ על סמל העתקת כתובת ה-URL ללוח כדי להעתיק אותה ללוח.

    במאגרי GitHub קיימים (מאגרים שכבר מכילים קבצים), אפשר לראות את כתובת ה-URL של HTTPS בכרטיסייה Code של המאגר, אחרי שלוחצים על הכפתור Code. חשוב לבחור את הקישור HTTPS. אפשר ללחוץ על הסמל העתקת כתובת ה-URL ללוח כדי להעתיק את כתובת ה-URL של ה-HTTPS ללוח.

  2. עוברים לפרויקט LookML ולוחצים על סמל ההגדרות בסרגל הניווט.

  3. בדף Project Configuration (הגדרת הפרויקט), בכרטיסייה Configuration (הגדרה), לוחצים על הלחצן Configure Git (הגדרת Git) (לפרויקטים חדשים) או על הלחצן Reset Git Connection (איפוס החיבור ל-Git) (לפרויקטים קיימים שחוברו ל-Git בעבר).

  4. לוחצים על הכפתור Configure Git (הגדרת Git) או על הכפתור Reset Git Connection (איפוס החיבור ל-Git) כדי לפתוח את הדף Configure Git (הגדרת Git).

  5. בדף Configure Git ב-Looker, מדביקים את כתובת ה-URL של ה-HTTPS למאגר Git בשדה Repository URL, ואז לוחצים על Continue.

    ‫Looker יזהה את ספק Git ויעדכן את החלון עם מידע על מאגר Git.

    אם Looker לא יזהה את ספק Git, תתבקשו לבחור מתוך רשימה נפתחת.

  6. בוחרים את אפשרות הכניסה ל-Git:

  7. בשדות שם משתמש וסיסמה/טוקן גישה אישי, מזינים את פרטי הכניסה שבהם ישתמש פרויקט LookML כדי לגשת ל-Git. הפעולה הזו נדרשת ללא קשר להגדרת הכניסה שלכם ל-Git:

    • אם בחרתם באפשרות Use a single, constant username and password/personal access token combination (שימוש בשם משתמש וסיסמה קבועים או בטוקן גישה אישי), אלה יהיו שם המשתמש והסיסמה (או טוקן הגישה) ב-Git שמופע Looker שלכם ישתמש בהם לכל פעולות Git. לחשבון המשתמש הזה ב-Git צריכה להיות גישת קריאה וכתיבה למאגר Git.
    • אם בחרתם באפשרות Use user attributes for username and password/personal access token (שימוש במאפייני משתמש לשם משתמש וסיסמה/טוקן גישה אישי), אלה שם המשתמש והסיסמה (או טוקן הגישה) של Git שמופע Looker ישתמש בהם כדי לשלוף את גרסת הייצור של המאגר. לחשבון המשתמש הזה ב-Git צריכה להיות לפחות גישת קריאה למאגר Git.
  8. אם בחרתם באפשרות שימוש במאפייני משתמש לשם משתמש ולסיסמה או לטוקן גישה אישי, בתפריטים הנפתחים מאפיין משתמש של שם משתמש ומאפיין משתמש של טוקן גישה אישי שבקטע פרטי כניסה למצב פיתוח יופיעו ב-Looker. משתמשים בתפריטים הנפתחים כדי לבחור את מאפייני המשתמש של פרטי הכניסה ל-Git של מפתח ספציפי.

    (משתמשי Looker יכולים לערוך את הערכים של שדות מאפייני המשתמש בדף Account שלהם, או שאדמינים של Looker יכולים לערוך את הערכים של מאפייני המשתמש עבור משתמש בדף האדמין Users).

  9. לוחצים על הלחצן המשך ההגדרה.

‫Git מוגדר עכשיו לפרויקט של LookML. מכאן אפשר לאמת את ה-LookML, ואז ליצור את השמירה הראשונית ולפרוס אותה בסביבת הייצור כדי שהפרויקט יהיה זמין במצב ייצור. אפשר גם:

התחברות ל-Git באמצעות SSH

באימות SSH, יוצרים מפתח פריסה לספק Git. ‫Looker יוצר את זוג מפתחות ה-SSH ומציג את המפתח הציבורי בממשק המשתמש, כמו שרואים בשלב 4. ‫Looker משתמש במפתח הפריסה הזה כדי להיכנס לספק Git שלכם ולבצע שינויים בשם המפתחים של Looker. מערכת Looker מבצעת קומיטים באמצעות שם המשתמש של המפתח ב-Looker, כך שאפשר לדעת איזה מפתח ביצע כל קומיט. אפשר לראות את היסטוריית הקומיטים של הפרויקט בממשק של ספק Git או על ידי בחירת האפשרות History (היסטוריה) בתפריט Git של Looker IDE. מידע נוסף על תפריטי Git ב-Looker זמין במאמר בנושא הפעלת פקודות Git ב-Looker .

כדי להגדיר פרויקט של LookML עם אימות SSH Git, פועלים לפי השלבים הבאים:

  1. פותחים את הפרויקט או יוצרים פרויקט של LookML חדש.
  2. בפרויקט, לוחצים על סמל ההגדרות בתפריט הסמלים שמימין כדי לפתוח את הדף Project Configuration (הגדרות הפרויקט).
  3. בדף Project Configuration (הגדרת הפרויקט), מבצעים אחת מהפעולות הבאות כדי לפתוח את הדף Configure Git (הגדרת Git):

    • בפרויקט ללא חיבור Git, לוחצים על הכפתור Configure Git (הגדרת Git).
    • בפרויקט שכבר הוגדר בו חיבור Git, לוחצים על הלחצן איפוס חיבור Git.

    דיאגרמה שמראה את המעבר מדף הגדרות הפרויקט לדף הגדרת Git. בפרויקטים חדשים יוצג הלחצן Configure Git (הגדרת Git), ובפרויקטים קיימים יוצג הלחצן Reset Git Connect (איפוס החיבור ל-Git), אבל שני הלחצנים מובילים לדף Configure Git (הגדרת Git).

  4. מקבלים את כתובת ה-URL של SSH למאגר Git. הפורמטים של ספקי Git נפוצים:

    • ‫GitHub: ‏ git@github.com:<organization-name>/<repository-name>.git
    • ‫GitHub Enterprise: git@example.com:<organization-name>/<repository-name>.git
    • ‫GitLab: ‏ git@gitlab.com:<organization-name>/<repository-name>.git
    • ‫Bitbucket: git@bitbucket.org:<organization-name>/<repository-name>.git
    • ‫Cloud Source Repositories: ssh://username@example.com@source.developers.google.com:2022/p/<project-id>/r/<repository-name>
    • ‫Phabricator: ssh://username@example.com/diffusion/MYCALLSIGN/<repository-name>.git

    במקרה של GitHub, במאגרים חדשים (מאגרים שעדיין לא מכילים קבצים), כתובת ה-SSH תוצג בכרטיסייה Code כחלק מההגדרה הראשונית. חשוב ללחוץ על הלחצן SSH כדי לקבל את כתובת ה-URL של ה-SSH, ואז ללחוץ על סמל הלוח כדי להעתיק אותה ללוח.

    במאגרי GitHub קיימים (מאגרים שכבר מכילים קבצים), אפשר לראות את כתובת ה-URL של ה-SSH בכרטיסייה Code של המאגר, אחרי שלוחצים על הכפתור Code. חשוב ללחוץ על הקישור שימוש ב-SSH. אפשר ללחוץ על סמל הלוח כדי להעתיק את הקוד ללוח.

  5. בדף Configure Git ב-Looker, מדביקים את כתובת ה-SSH של מאגר ה-Git בשדה Repository URL ולוחצים על Continue.

  6. ‫Looker יזהה את ספק Git ויציג מפתח פריסה למאגר. (אם Looker לא יזהה את ספק Git, תופיע בקשה לבחור מתוך רשימה נפתחת). מעתיקים את מפתח הפריסה ללוח, ואז בוחרים בקישור Deploy Key settings for your repository כדי לפתוח את הדף Deploy keys ב-GitHub עבור מאגר GitHub.

  7. בכרטיסייה Settings ב-GitHub, בדף Deploy keys, לוחצים על הלחצן Add deploy key:

    מוצג הדף Deploy keys / Add new (מפתחות פריסה / הוספת חדש) ב-GitHub.

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

  9. מדביקים את מפתח הפריסה שהעתקתם מ-Looker .

  10. בוחרים באפשרות מתן הרשאת כתיבה.

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

  12. ב-GitHub יוצגו כל מפתחות הפריסה שנוספו למאגר.

  13. חוזרים לחלון Looker ובדף Configure Git (הגדרת Git), בוחרים באפשרות Test and Finalize Setup (בדיקה וסיום ההגדרה).

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

‫Git מוגדר עכשיו לפרויקט של LookML. מכאן אפשר לאמת את ה-LookML, ואז ליצור את השמירה הראשונית ולפרוס אותה בסביבת הייצור כדי שהפרויקט יהיה זמין במצב ייצור. אפשר גם:

הגדרת מאגר Git חשוף

כשמגדירים פרויקט עם מאגר Git bare, ‏ Looker יוצר מאגר Git מקומי בשרת Looker ומתחיל את היסטוריית ה-Git של המאגר, במקום להתחבר למאגר אצל ספק Git מרוחק. הגדרת מאגר bare שימושית אם עדיין לא יצרתם מאגר Git מרוחק להתחברות אליו, או אם אתם רוצים להגדיר במהירות כדי שאחרים יוכלו ליהנות מ-LookML שלכם. לדוגמה, כשיוצרים פרויקט חדש במהלך יצירת מודל, הפרויקט מוגדר אוטומטית עם מאגר מינימלי.

כשמגדירים פרויקט עם מאגר Git חשוף, אפשר לאפס מאוחר יותר את חיבור ה-Git של הפרויקט מתוך הדף Project settings של הפרויקט וליצור חיבור לספק Git מרוחק באמצעות HTTPS או SSH.

שימו לב למגבלות הבאות שקשורות למאגרי מידע חשופים:

כדי להגדיר פרויקט של LookML עם מאגר Git ריק:

  1. פותחים את הפרויקט או יוצרים פרויקט של LookML חדש.
  2. בפרויקט, לוחצים על סמל ההגדרות בתפריט הסמלים שמימין כדי לפתוח את הדף Project Configuration (הגדרות הפרויקט).
  3. בדף Project Configuration (הגדרת הפרויקט), מבצעים אחת מהפעולות הבאות כדי לפתוח את הדף Configure Git (הגדרת Git):

    • בפרויקט ללא חיבור Git, לוחצים על הכפתור Configure Git (הגדרת Git).
    • בפרויקט שכבר הוגדר בו חיבור Git, לוחצים על הלחצן איפוס חיבור Git.
  4. בתחתית הדף Configure Git (הגדרת Git), לוחצים על Set up a bare repository instead (הגדרה של מאגר bare במקום זאת).

  5. בתיבת הדו-שיח Configure Bare Git Repository (הגדרת מאגר Git חשוף), בוחרים באפשרות Create Repository (יצירת מאגר).

    אחרי שמאגר Git נוצר, Looker יציג תיבת דו-שיח עם הכיתוב Bare Repository Created (נוצר מאגר Git).

‫Git מוגדר עכשיו לפרויקט של LookML. מכאן אפשר לאמת את ה-LookML, ואז ליצור את השמירה הראשונית ולפרוס אותה בסביבת הייצור כדי שהפרויקט יהיה זמין במצב ייצור. אפשר גם:

בפרויקטים שמוגדרים עם מאגר Git חשוף, אפשר להשתמש בהמשך באפשרות איפוס חיבור Git אם רוצים לקשר את הפרויקט לספק Git (ראו את ההוראות לשימוש ב-HTTPS או ב-SSH). עם זאת, לא מומלץ להתחבר למאגר Git שכבר יש לו היסטוריית Git. אם הגדרתם את פרויקט LookML עם מאגר Git ריק, ‏ Looker יוצר מאגר בשרת Looker ומתחיל את היסטוריית ה-Git של המאגר. אם בהמשך תקשרו את פרויקט LookML למאגר Git שיש לו היסטוריית Git, מערכת Looker לא תוכל להשוות בין שתי היסטוריות ה-Git ולא תוכלו לבצע פעולות Git.

חיבור פרויקט LookML חדש למאגר Git לא ריק

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

  • כשמעבירים פרויקט של LookML קיים בין מופעים
  • כשמשחזרים קוד מפרויקט של LookML פגום או לא פעיל לשימוש בפרויקט חדש

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

  1. כדי ליצור פרויקט LookML חדש, בוחרים באפשרות פרויקט ריק כנקודת ההתחלה. פרויקט ריק הוא נקודת ההתחלה, כי הוא יאוכלס באובייקטים של LookML ממאגר קיים, ולא מסכמת מסד נתונים או משאילתת SQL.
  2. מגדירים את Git לפרויקט באמצעות HTTPS או SSH, באמצעות כתובת ה-URL של הפרויקט הלא ריק בקטע Repository URL (כתובת ה-URL של המאגר) בדף Configure Git (הגדרת Git).
  3. אחרי שמגדירים את Git לפרויקט, מושכים מנתוני הייצור מהחלונית Git Actions.
  4. אחרי ששולפים את השינויים מסביבת הייצור, בוחרים באפשרות פריסה בסביבת הייצור.

השינויים שתבצעו ב-LookML בפרויקט לא ישפיעו על המאגר המקורי, אלא יישמרו בגרסה המקומית של המאגר.

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

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

בדיקת החיבור ל-Git

‫Looker מספק בדיקת חיבור ל-Git כדי לוודא שהחיבור ל-Git תקין. בדיקת החיבור ל-Git מוודאת שהגדרתם את כתובת ה-URL הנכונה של Git ושהמארח של Git נגיש ל-Looker . בנוסף, בדיקת החיבור ל-Git מוודאת שסיפקתם מפתח פריסה תקין ל-Git, ושמפתח הפריסה כולל גישת כתיבה למאגר Git.

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

אפשר גם לגשת לכלי לבדיקת חיבור Git על ידי בחירה באפשרות בדיקת חיבור Git בחלונית פעולות Git:

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

  1. בדיקת git remote
  2. שם המארח של שירות Git יפוענח
  3. הרשת לשירות git פועלת
  4. אימות פרטי ההרשאה
  5. מוודאים שלפרטי הכניסה יש הרשאת כתיבה

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

בדוגמה הבאה מוצגת בדיקה מוצלחת:

תיבת הדו-שיח Git Connection Test (בדיקת חיבור ל-Git) שבה מוצגת רשימה של שלבים עם סימני וי ירוקים לצדם, שמציינים שכל השלבים הושלמו בהצלחה.

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

  • Examine git remote
  • Host name for git service will resolve
  • Networking to the git service is operational

סימני ה-V האדומים שמשמאל לשני השלבים האחרונים מציינים שהשלבים האלה נכשלו:

  • Verify authorization credentials
  • Ensure credentials allow write access

תיבת הדו-שיח Git Connection Test (בדיקת החיבור ל-Git) מציגה רשימה של שלבים שהצליחו ושלבים שנכשלו. שגיאה בשלב 'אימות פרטי ההרשאה': Cannot AUTH to remote (Looker deploy key).