פריסה רציפה ממאגר

אם יש לכם קוד מקור או פונקציות במאגר Git ואתם רוצים להגדיר פריסות רציפות ממאגר ולבצע אוטומציה של בנייה, אתם יכולים להשתמש ב-Cloud Build או ב-Developer Connect במסוף Cloud Run.

כשמגדירים את זה, Cloud Run משתמש בטריגר לפיתוח גרסת Build של Cloud Build כדי ליצור ולפרוס אוטומטית את הקוד בכל פעם שמעבירים בדחיפה קומיטים חדשים להסתעפות מסוימת במאגר Git. פרטי מאגר המקור מוצגים במסוף Google Cloud של השירות אחרי הפריסה ב-Cloud Run.

במסוף Cloud Run:

  • אם בוחרים ב-Cloud Build, אפשר להגדיר פריסות רציפות מ-GitHub. לדוגמה, אפשר לעיין במדריך למתחילים בנושא יצירת מאגר תבניות ופריסה רציפה מ-git.

  • אם בוחרים באפשרות Developer Connect, אפשר להגדיר פריסות רציפות ממאגרי GitHub,‏ GitLab ו-Bitbucket.

אפשר גם להשתמש ב-Cloud Deploy כדי להגדיר צינור עיבוד נתונים של אספקה רציפה (CD) לפריסת שירותי Cloud Run בסביבות מרובות.

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

  • יש לכם מאגר git עם Dockerfile או שבסיס הקוד שלכם כתוב באחת מהשפות שנתמכות על ידי Google Cloud's buildpacks.
  • Enable the Cloud Build API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  • אם בוחרים באפשרות Developer Connect, צריך להפעיל את Developer Connect API:

    הפעלה של ה-API

התפקידים הנדרשים

כדי לקבל את ההרשאות שנדרשות לפריסת שירותי Cloud Run מ-Git באמצעות Cloud Build או Developer Connect, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:

לחשבון השירות שמריץ את הבנייה צריכים להיות התפקידים הבאים:

רשימת ההרשאות והתפקידים ב-IAM שמשויכים ל-Cloud Run מופיעה במאמרים תפקידי IAM ב-Cloud Run והרשאות IAM ב-Cloud Run. אם שירות Cloud Run שלכם מתקשר עםGoogle Cloud ממשקי API, כמו ספריות לקוח ב-Cloud, כדאי לעיין במדריך להגדרת זהות שירות. מידע נוסף על מתן תפקידים זמין במאמרים הרשאות פריסה וניהול גישה.

הגדרת פריסה רציפה ממסוף Cloud Run

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

שירות חדש

  1. במסוף Google Cloud , נכנסים לדף Cloud Run:

    כניסה ל-Cloud Run

  2. אם אתם יוצרים שירות חדש, לוחצים על Connect repository (קישור מאגר) כדי להציג את הטופס Create service (יצירת שירות).

    אם אתם משנים שירות קיים, מאתרים את השירות ברשימת השירותים ולוחצים עליו. לוחצים על Connect to repo (חיבור למאגר).

  3. בוחרים באפשרות Cloud Build או Developer Connect.

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

    2. אם בחרתם באפשרות Developer Connect, אפשר לעיין במאמר הגדרה באמצעות Developer Connect.

שירות קיים

  1. במסוף Google Cloud , נכנסים לדף Cloud Run:

    כניסה ל-Cloud Run

  2. מאתרים את השירות ברשימת השירותים ולוחצים עליו.

  3. לוחצים על Connect to repo ופועלים לפי ההוראות במאמר Set up with Cloud Build.

הגדרה באמצעות Cloud Build

בחלונית Set up with Cloud Build (הגדרה באמצעות Cloud Build):

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

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

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

  2. בשלב Build Configuration (הגדרת בנייה), ממלאים את האפשרויות:

    • Branch

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

      • Dockerfile: בוחרים באפשרות הזו אם רוצים שהמאגר ייבנה באמצעות Docker והוא מכיל קובץ Dockerfile.

        • בקטע מיקום המקור, מציינים את המיקום והשם של קובץ Docker. הספרייה הזו תשמש כהקשר של בניית Docker. כל הנתיבים צריכים להיות יחסיים לספרייה הנוכחית.
      • Go, ‏ Node.js, ‏ Python, ‏ Java,‏ ‎.NET Core, ‏ Ruby או PHP באמצעות buildpacks של Google Cloud: אם רוצים ליצור את המאגר באמצעות buildpacks, בוחרים באפשרות הזו.

        • בקטע Build context directory (יצירת ספריית הקשר), מציינים את הספרייה.
        • בנקודת הכניסה (אופציונלי), מציינים את הפקודה להפעלת השרת. לדוגמה, gunicorn -p :8080 main:app ל-Python ו-java -jar target/myjar.jar ל-Java. אפשר להשאיר את השדה הזה ריק כדי להשתמש בהתנהגות ברירת המחדל.
        • בFunction target (רק לפריסות של פונקציות), מזינים את הפונקציה שרוצים להפעיל. אחרת, משאירים את השדה הזה ריק.
  3. לוחצים על Save.

  4. הדף נטען מחדש ומוחזרים לטופס יצירת שירות.

  5. בודקים את ההגדרות שנבחרו בקטע Source repository.

  6. ממלאים את שאר הטופס בקטע הגדרה.

  7. לוחצים על יצירה.

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

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

  • לוחצים על Edit repo settings במסוף Cloud Run כדי לערוך את טריגר לפיתוח גרסת Build במסוף Cloud Build.
  • כדי לראות את היסטוריית הבנייה, לוחצים על הקישור logs בשלב Building and deploying from repository.
  • צפייה בפרטי המקור בקטע פרטי הגרסה.

הגדרה ידנית של פריסה רציפה

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

צירוף טריגר קיים לפיתוח גרסת Build של Cloud Build לשירות Cloud Run

אם כבר יש לכם טריגר קיים לפיתוח גרסת Build ב-Cloud, אתם יכולים לצרף אותו לשירות על ידי הוספת תווית לשירות Cloud Run.

כדי להוסיף תווית במסוף Cloud Run:

  1. במסוף Google Cloud , נכנסים לדף Cloud Run:

    כניסה ל-Cloud Run

  2. בוחרים את השירות.

  3. בשירות שנבחר, לוחצים על תוויות בחלק העליון של הדף כדי לפתוח את החלונית תוויות.

  4. מוסיפים תווית עם gcb-trigger-id כמפתח, ואת המזהה הייחודי של טריגר Cloud Build כערך (לא שם הטריגר). אם המפתח gcb-trigger-id כבר קיים, משנים את הערך. הוראות להגדרת התווית מופיעות במאמר הגדרת תוויות או שינוי שלהן.

הגדרה באמצעות Developer Connect

בחלונית הגדרה באמצעות Developer Connect:

  1. בוחרים מאגר ולוחצים על הבא.

    אם המאגר שרוצים לבחור לא מופיע, לוחצים על Link new repository (קישור מאגר חדש) כדי לפתוח את החלונית Link new repositories via Developer Connect (קישור מאגרים חדשים באמצעות Developer Connect). לוחצים על הכרטיסייה המתאימה כדי לקבל מידע נוסף על התחברות לאחד מספקי ניהול קוד המקור.

    GitHub

    באפשרויות GitHub,‏ GitHub Enterprise Cloud ו-GitHub Enterprise, לוחצים על Connect (חיבור).

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

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

    בתיבת הדו-שיח Cloud Run, מבצעים את הפעולות הבאות:

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

    1. בוחרים את החשבון ב-GitHub שבו רוצים להשתמש.

    2. בוחרים מאגר אחד או יותר שרוצים לתת להם גישה.

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

    1. לוחצים על GitHub Account כדי לראות את החשבונות שבהם מותקנת אפליקציית Google Cloud Run. אם אתם רואים את החשבון שבו אתם רוצים להשתמש, לוחצים על אישור כדי לבחור אותו.

    2. אם החשבון שבו רוצים להשתמש לא מופיע, פועלים לפי השלבים הבאים:

      1. בוחרים באפשרות Install the GitHub App on another GitHub account (התקנת אפליקציית GitHub בחשבון אחר ב-GitHub) ולוחצים על Confirm (אישור).

      2. פועלים לפי השלבים ב-GitHub כדי לאשר את התקנת האפליקציה.

      3. בוחרים מאגר אחד או יותר שרוצים לתת להם גישה.

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

    GitLab

    לאפשרות GitLab:

    1. בקטע Personal Access Tokens (אסימוני גישה אישיים), מזינים את האסימונים של החשבון:

      • טוקן גישה ל-API: מזינים את טוקן הגישה האישי עם היקף api.
      • Read API access token: מזינים את הטוקן האישי לגישה עם היקף read_api.

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

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

    2. לוחצים על הצגת הגדרות נוספות כדי לראות הגדרות אופציונליות.

    3. אופציונלי: בקטע Encryption, בוחרים מפתח CMEK להצפנת סודות של Secret Manager שנוצרים על ידי Cloud Run.

    ‫GitLab Enterprise Edition

    באפשרות GitLab Enterprise Edition:

    1. בקטע כתובת ה-URL של המארח, מזינים את כתובת ה-URL של המארח שאליו רוצים להתחבר.

    2. בקטע Personal Access Tokens (אסימוני גישה אישיים), מזינים את האסימונים של החשבון:

      • טוקן גישה ל-API: מזינים את טוקן הגישה האישי עם היקף api.
      • Read API access token: מזינים את הטוקן האישי לגישה עם היקף read_api.

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

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

    3. לוחצים על הצגת הגדרות נוספות כדי לראות הגדרות אופציונליות.

    4. אופציונלי: בקטע Encryption, בוחרים מפתח CMEK להצפנת סודות של Secret Manager שנוצרים על ידי Cloud Run.

    Bitbucket

    באפשרות Bitbucket Cloud:

    1. בקטע Workspace, מזינים את מזהה סביבת העבודה ב-Bitbucket Cloud.

    2. בקטע Access Tokens (אסימוני גישה), מזינים את אסימוני הגישה של Bitbucket:

    3. לוחצים על הצגת הגדרות נוספות כדי לראות הגדרות אופציונליות.

    4. אופציונלי: בקטע Encryption, בוחרים מפתח CMEK להצפנת סודות של Secret Manager שנוצרים על ידי Cloud Run.

    Bitbucket Data Center

    באפשרות Bitbucket Data Center:

    1. בשדה כתובת ה-URL של המארח, מזינים את כתובת ה-URL של המארח של Bitbucket Data Center שאליו רוצים להתחבר.

    2. בקטע Access Tokens, מזינים את אסימוני הגישה שלכם ל-Bitbucket Cloud:

      • טוקן גישת אדמין: מזינים את הטוקן עם גישת אדמין למאגר.

      • Read access token (טוקן גישה לקריאה): מזינים את הטוקן עם גישת היקף הקריאה למאגר.

    3. לוחצים על הצגת הגדרות נוספות כדי לראות הגדרות אופציונליות.

    4. אופציונלי: בקטע Encryption, בוחרים מפתח CMEK להצפנת סודות של Secret Manager שנוצרים על ידי Cloud Run.
  2. לוחצים על Connect. התהליך הזה יכול להימשך כמה שניות.

  3. בשלב Build Configuration (הגדרת בנייה), ממלאים את האפשרויות:

    • Branch

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

      • Dockerfile: בוחרים באפשרות הזו אם רוצים שהמאגר ייבנה באמצעות Docker והוא מכיל קובץ Dockerfile.

        • בקטע מיקום המקור, מציינים את המיקום והשם של קובץ Docker. הספרייה הזו תשמש כהקשר של בניית Docker. כל הנתיבים צריכים להיות יחסיים לספרייה הנוכחית.
      • Go, ‏ Node.js, ‏ Python, ‏ Java,‏ ‎.NET Core, ‏ Ruby או PHP באמצעות buildpacks של Google Cloud: אם רוצים ליצור את המאגר באמצעות buildpacks, בוחרים באפשרות הזו.

        • בקטע Build context directory (יצירת ספריית הקשר), מציינים את הספרייה.
        • בנקודת הכניסה (אופציונלי), מציינים את הפקודה להפעלת השרת. לדוגמה, gunicorn -p :8080 main:app ל-Python ו-java -jar target/myjar.jar ל-Java. אפשר להשאיר את השדה הזה ריק כדי להשתמש בהתנהגות ברירת המחדל.
        • בFunction target (רק לפריסות של פונקציות), מזינים את הפונקציה שרוצים להפעיל. אחרת, משאירים את השדה הזה ריק.
  4. לוחצים על Save.

  5. ממלאים את שאר הטופס בקטע הגדרה.

  6. כשמסיימים להגדיר את השירות, לוחצים על יצירה כדי לפרוס את האימג' ב-Cloud Run ומחכים שהפריסה תסתיים.

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